메뉴 바로가기 검색 및 카테고리 바로가기

한빛미디어

독자리뷰

실무에서 바로 참고할 수 있는 예제로 수두룩!!

ngni***

|

2012-09-12

버그 없는 안전한 소프트웨어를 위한 CERT 자바 프로그래밍

컴퓨터 비상 대응팀(CERT)은 다양한 소프트웨어에서 취약점을 유발하는 안전하지 못한 코딩 습관이 반복되는 것을 보았다. 이 책에서 제시하는 지침을 적용하면 취약점을 유발하는, 안전하지 못한 코딩 습관을 제거해 공격에 더 잘 견디는 튼튼한 고품질 시스템을 만들 수 있다.

  • 저자 : 프레드 롱 외 6명
  • 번역 : 강권학
  • 출간 : 2012-08-27
제가 컨설팅 업무를 하면서, 그리고 현재 보안 기술적 취약점 진단 업무를 하면서 어플리케이션 취약점에 대한 이슈는 계속 되고 있습니다. 모의해킹 진단 업무는 대부분 BlackBox 형태이기 때문에 이후에 동일한 진단을 할시에도 매년마다 계속 취약점이 도출되는 것에 대해서 반박을 하였고, 이에 개발단에서부터 취약점을 제거해야 한다는 "Secure Coding"에 대한 단어가 떠올랐습니다. 분명히 이전에도 사업이 간간히 진행되었고, 공공기관 대상으로도 많은 SI 업체들은 항상 "개발단계의 보안성 검토"를 RFP에 추가를 하곤 하였습니다.

하지만, 행안부에서는 "SW 개발단계에서부터 보안취약점 제거 의무화" (공공기관 개발사업) 을 하면서 더욱 이슈가 되었습니다. 그리고 행안부에서는 시큐어코딩 교육 사업을 진행하여 "시큐어 코딩 진단원"을 양성하기 시작하였습니다.
이에 행안부에는 2011년에 각 개발환경에 맞는 "C/C++, Java, Android, iOS" 대상으로 시큐어 코딩 가이드를 배포하기도 했습니다.

하지만, 실제 이 가이드를 보면서 현업에 사용될 수 있을지에 대해서 많은 의문을 남겼고, 이 가이드를 통해서 진단원을 양성 시킬 수 있을지는 저도 의문입니다. 이것을 이해하는 개발경력 및 보안전문가를 통해서 전달되어야 하지만, 이 가이드의 항목을 모두 충족하기 위해서는 많은 시행착오가 있을거 같습니다.

행안부에서 진행된 가이드는 CVE 를 많이 참고하여 진행되었습니다. 이 가이드가 아쉬었던 것은 취약점에 대한 설명이 너무 부족했던 것이고 (개발자가 이해하기에는 부족하다는 의미), [예제]를 너무 생략하는 감이 있어서 많이 아쉬웠습니다.

저는 실제 시큐어 코딩 진단 업무를 3년이상 하면서 참고했던 자료는 https://www.securecoding.cert.org 에서 발간되고 있는 현재 책의 원본 페이지들이었습니다. 아무리 Standard라고 할지라도 실 업무에서 바로 사용될 수 있는 코드가 인상적이며, 보안품질, 코드품질 등 우리가 놓칠 수 있는 부분까지 항목을 자세히 분류를 시켰기 때문에 개발자 입장에서든, 컨설턴트 입장에서든 선택할 수 있는 권리를 주었다는 것입니다.

시큐어 코딩을 사람의 손으로(수동 작업)으로 모두 하나하나 작업을 할 수 없어서 "Fortify"라는 도구를 많이 사용합니다. 하지만, 여기에서 내놓는 예제도 이책과 비교를 하였을 경우, 객관적으로 이 책이 참고하기에는 아주 좋습니다.

하지만, 문제는 행안부에서 진행되고 있는 항목들이 이 책을 참고하여 권고를 할 수 있을지는 아직 의문입니다. 꼭 가이드를 참고를 해야 할지에 대해서는 내년에 진행을 해봐야 저도 알거 같습니다.

저도 개인적으로 Secure Coding에 대해서 아주 관심이 많기 때문에 다양한 문서를 연구하여 배포하고 있으며 현재도 ESAPI, SAMATE 등을 참고하고 있습니다. 아래 링크를 참조하시면 됩니다.


[번역 문서 배포] OWASP Top 10 for .NET developer

[번역문서배포] iOS Application (In)Security


[같이 보면 좋은 책]
버그 없는 안전한 소프트웨어를 위한 CERT C 프로그래밍
닫기

해당 상품을 장바구니에 담았습니다.이미 장바구니에 추가된 상품입니다.
장바구니로 이동하시겠습니까?