웹개발을 하다보면 소스코드에 대한 보안 약점을 관리하기 위해 소스코드 보안약점에 대한 분석이 필요한 부분이 있다.
이를 통해 ISMS나 ISMSP 보안인증에 대해서 획득을 하기 위해 준비하고 소스코드를 작성할때 예외처리에 대해서 조금더 신경써서 작성할수 있다. 이처럼 보안취약점 점검을 통해 품질 이슈와 소스코드 보안 약점 분석, 웹취약점 분석, 오픈소스 취약점 분석에 대해 대비할수 있다.
그래서 오늘은 현업에서 사용하는 보안 점검툴에 대해서 알아볼려고 하고 있습니다.
🧨ISMS & ISMSP인증이란
https://roomname-dev.tistory.com/37
🧨소스코드 Exception 처리
https://roomname-dev.tistory.com/71
✌️Sparrow
소프트웨어의 개발 초기 단계에서 소스코드상 보안 취약점을 진단하는 정적 분석 도구입니다.
항목 | 요구기능 |
언어 | C/C++, JAVA, JSP, C#, XML, PHP, ASP.NET, VB.NET, javascript, VBScript, Android, JAVA, Objective-C, HTML, SQL, ABAP |
프레임워크 | - JAVA : 전자전부, Spring FrameWork, IBATIS, MYBATIS, Struts2 - C계열 : Tmax ProFrame - C# : ASP.NET MVC |
연동시스템 | - 이슈관리 시스템 : Redmine, Jira - 빌드 시스템: Jenkins, Teamcity - 버전 컨트롤 시스템 : Git, Subversion, Microsoft Team Foundation Server |
플러그인 | - Eclipse(3.2 이상) - Visual Studio(2005~2013) - Proframe Studio - InteliJ, Android Studio - Eclipse Based Tool (IBM RAD등) |
* 진단항목
- 행정안전부 47개 보안약점
- 시큐어코딩가이드(2012.09)
- 국정원 취약점
- 전자금융감독규정
- CWE (CWE 658 List CWE 659 List CWE 660 List)
- OWASP
- CERT C/C++, Java
- MISRA C/C++
- BSSC C/C++ 2000
- HIC C++ 외 다수
✌️SonarQube
소나큐브(SonarQube, 이전 이름: 소나/Sonar)는 20개 이상의 프로그래밍 언어에서 버그, 코드 스멜, 보안 취약점을 발견할 목적으로 정적 코드 분석으로 자동 리뷰를 수행하기 위한 지속적인 코드 품질 검사용 오픈 소스 플랫폼이다. 소나소스(SonarSource)가 개발하였다. 소나큐브는 중복 코드, 코딩 표준, 유닛 테스트, 코드 커버리지, 코드 복잡도, 주석, 버그 및 보안 취약점의 보고서를 제공한다.
라고 위키 백과에 나와있다. 일단 오픈소스기반이지만 개인으로 사용하는 Community Edition은 1개월 무료로 사용할수 있다.
✌️CodeRay
CODE-RAY XG는 소프트웨어의 개발 초기 단계에서 소스코드상 보안 취약점을 진단하는 정적 분석 도구로 행정안전부 47개 보안약점 및 OWASP TOP10 등을 기준으로 소스코드상 보안 취약점을 진단합니다.
* 진단항목
- 행정안전부 47개 보안약점
- 시큐어코딩가이드(2012.09)
- 국정원 취약점
- 전자금융감독규정
- CWE (CWE 658 List CWE 659 List CWE 660 List)
- OWASP
- CERT C/C++, Java
- MISRA C/C++
- BSSC C/C++ 2000
- HIC C++ 외 다수
이렇게 각 보안 점검 툴에 대해서 지원하는 범위랑 간략한 설명을 진행 해보았습니다. 개발자들이 개인적으로 소스 리팩토링을 통해서 소스를 보완하고 나아가지만 모든 소스를 다 확인 할수 없기에 이런 툴을 통해 소스의 품질 향상 과 퀄리티를 유지 하고 있습니다.
여기서 한가지 집고 넘어가야 할 개념으로 정적 코드 분석입니다.
✌️정적 코드 분석
정적 코드 분석이란 프로그램을 실행하지 않고 코드 분석을 수행하는 부분을 말합니다. 코드내에서 발생할수 있는 보안 취약점과 잠재적인 결함, 위험등을 찾아내기 위함이며 이를 하는 이유는 여러사람들과의 협업을 통해서 만들어지는 소스에 대한 오류를 야기할수 있는 코드를 유지보수 하고 퀄리티를 향상 시키기 위해서 입니다. 그리고 개발자들이 수동으로 투입하여 할수 없듯이 전체범위를 가장 효율적인 시간으로 정해진 규칙과 기준에 따라 분석하여 보안을 강화 할수 있기에
이러한 보안 점검 정적 코드 툴을 도입하는 이유입니다.
'💜99_기타 > 05_Tool&IDE(통합개발환경)' 카테고리의 다른 글
#Eclipse #폰트 #사이즈 #변경 (0) | 2023.04.04 |
---|
댓글