보안 Vs 성능

3
- 1 - 보안 VS 성능 학 과 : 컴보 2A 학 번 : 2013011073 과목명: 데이터베이스 보안 담당교수: 김태근 교수님 제출자 : 박동진 제출일자 : 2014/11/10

Transcript of 보안 Vs 성능

Page 1: 보안 Vs 성능

- 1 -

보안 VS 성능

학 과 : 컴보 2A 학 번 : 2013011073 과목명: 데이터베이스 보안 담당교수: 김태근 교수님 제출자 : 박동진 제출일자 : 2014/11/10

Page 2: 보안 Vs 성능

- 2 -

Part 1 시큐어 코딩의 필요성

보안 업체들은 DBMS 보안이 주목되면서 DB암호화 측과 DB접근제어 측이 서로 경쟁 해왔다.

암호화 측은 접근제어보다 보안성을 강조했고 접근제어 측은 암호화보다 성능과 속도를 강조

했다. 허나 기술이 발전되며 점점 이둘 의 장벽은 허물어 지게 되었다. 그럼에도 불구하고 현재

까지 발생한 개인정보 유출 사건들을 DB안의 데이터들이 유출된다는 것을 알수있다. 특히나

보안이 우수하다는 금융 기업부터 대기업까지 분명 비싼 하드웨어 일체형 장비를 들여 갖가지

DB암호화와 더불어 접근제어 그리고 네트워크 단위의 보안 까지 했을 것 인데 이러한 유출 사

고가 발생하는 이유는 무엇일까. 필자는 그 이유는 바로 개발 과정에서의 잘못된 비즈니스 로

직 작성이 원인이라고 생각한다. 아무리 비싼 장비를 들여 갖가지 보안 장치를 해놓아도 서버

의 자원을 이용하는 어플리케이션을 작성 하는 코드가 보안을 고려하지 않으면 허술 하게 뚫

릴 뿐이다. KT유출사건만 보아도 그렇다 KT는 고객을 9자리의 UUID로 식별하는데 로그인 한

사용자의 UUID와 조회를 요청하는 UUID비교 하는 로직만 백엔드단에 구현했더라면 사건은 일

어나지 않았을것이다. 다른 사용자의 UUID를 요청 URL뒤에 GET 파라미터로 그냥 붙여넣기를

이용, 무차별 대입공격으로 다른 사용자의 정보를 조회할수있게 설계한 KT의 개발 수준에 감탄

이 나올뿐이다. 물론 http세션을 사용하고 한번더 트랜젝션이 발생함으로써 성능은 저하될수있

지만 보안은 확실하다. 무엇보다 하도급시스템이라는 우리나라 개발 시장의 구조적 문제도 있

겠지만 개발자 스스로도 자신이 작성하는 코드의 품질과 보안적 측면에서 고려하면서 작성하

면 이러한 문제는 발생하지 않았을 것이다 생각한다. 시큐어 코딩은 개발자의 지식부족이나, 프

로토콜, 작성하는 코드 자체 취약점등 개발되는 결과물의 취약점을 줄이기 위해 설계부터 코드

작성까지 보안을 고려하는 것이라 할수있다. 하지만 너무 보안만 신경쓰면 성능이 저하되고 사

용자입장에서는 접근성과 가용성이 떨어져 보이는 문제가 잇기에 적당히 조율을 해야함은 물

론이다

Part 2 SW 보안이나 성능이나 설계가 핵심이다

OOP, UML, 디자인패턴 같은 추상적인 것부터 프레임워크, 라이브러리 같은 구현체 까지 현재

우리는 SW 개발에 필요한 다양한 이론과 예제, 구현체들을 습득할수있다. 무턱대고 코드를 작

성하는것보다 이 코드의 역할이 뭔지 지금 작성하는 클래스는 다른 클래스와 어떤관계인지 어

떻게 모듈화를 시킬것인지 서로 상호작용을 위해 어떤 API, 라이브러리를 사용할것인지 구상을

해두어야 좋은 품질의 SW가 나오는건 당연한것이다. 앞서말한 KT유출사고가 SW 설계단계에서

논리적으로 설계하고 개발을 시작했다면 저런 취약점이 발생했겠는가. 필자도 설계의 위력을

직접 느껴보았다 스프링을 이용한 자바 웹 어플리케이션을 만들때 프론트엔드는 어떤 라이브

러리를 사용할것인지 미리정하고 않고 무턱대고 UI를 만들었는데 백엔드와 호환이 어려워 아

예 UI를 갈아엎었고 View 와 Model간의 데이터 형식 처리를 DB에 넘길지 Contoller가 해줄지

정하지않고 무턱대고 만들어 포기할뻔한 적이있었다. 그로인해 설계의 중요성을 깨닫고 문서화

도 차곡차곡 햇었다. 수집한 자료를 가공하여 DB에 넣을지 수집한 자료를 원시형태로 DB에 넣

어 데이터 추출 및 가공을 DB에 할지등의 데이터 흐름은 설계에서부터 결정나와있어야한다.

물론 그에따라 부하는 어플리케이션 서버나 DBMS에 가해질것이다.

Page 3: 보안 Vs 성능

- 3 -