사소한것부터 바꾸자

시큐어코딩 - 테스트 방법 본문

보안

시큐어코딩 - 테스트 방법

뷰베 2020. 10. 12. 10:51

1. 시큐어코딩(secure coding) 이란?

소프트웨어(SW)를 개발함에 있어 개발자의 실수, 논리적 오류 등으로 인해 SW에 내포될 수 있는 

보안취약점(vulnerability)을 배제하기 위한 코딩 기법을 뜻 한다. 

 

2. 시큐어코딩의 국내ㆍ외 배경

SW 개발보안의 중요성을 인식한 미국의 경우, 국토안보부(DHS)를 중심으로 시큐어코딩을 포함한 

SW 개발 전과정(설계ㆍ구현ㆍ시험 등)에 대한 보안활동 연구를 활발히 진행하고 있다. 

국내의 경우 2009년부터 전자정부서비스 개발단계에서 SW 보안약점을 진단하여 제거하는 시큐어코딩 관련 연구를 진행하면서,2012년까지 전자정부지원사업 등을 대상으로 SW 보안약점 시범진단을 수행하였다. 

또한, 2012년 년 6월부터는 행정안전부 '정보시스템 구축ㆍ운영 지침(행안부고시 제2012-25호)'이 개정ㆍ고시 됨에 따라 전자정부서비스 개발시 적용토록 의무화 되었다.

 

3. 시큐어코딩테스트

본격적인 시큐어코딩 테스트 진행에 앞서 본인은 java 개발자 이기 때문에 java 코드의 

시큐어코딩 테스트를 진행과정을 기재 함을 먼저 알린다.

spring, springboot 혹은 기타 프레임워크 전부 상관없이 java로 코딩한 경우 전부 

아래와 같이 진행 가능 본인은 지난 네이버 REST FULL API 코드로 시큐어코딩 테스트 진행 할 예정이며

시큐어코딩 테스트에서 나타나는 몇가지 보안 취약점도 어떻게 해결 하는지 이제 차근차근 적어 보겠다.

2020/09/04 - [Spring-Boot] - [Spring-Boot]네이버 REST API 사용법 - 1(파파고번역)

 

[Spring-Boot]네이버 REST API 사용법 - 1(파파고번역)

2019년 12월 처음으로 국비로 학원을 다니면서 for문 무엇인지 몰라서 한참을 헤매던 그날이 바로 엊그제 같은데 어느새 취직을해서 api를 활용하여 프로젝트를 만들다니 세월이 진짜 빠르구나 싶�

changeminor.tistory.com

 

시큐어코딩테스트 프로그램은 아래 링크를 타고 가서 받으면 된다.

https://sourceforge.net/projects/yasca/files/Yasca%202.x/Yasca%202.2/

 

Yasca - Browse /Yasca 2.x/Yasca 2.2 at SourceForge.net

VPN은 해킹을 방지하고 온라인 트래픽 흐름을 위한 암호화된 터널이라고 상상해 보세요. 아무도 터널 안을 통해 볼 수 없으며 사용자의 인터넷 데이터를 손에 넣을 수 없습니다. NordVPN은 공용 Wi-

sourceforge.net

yasca-core-2.21, yasca-2.2-jlint 두가지 다운 받으면 된다.(java)만 진행 할 예정이라

압축을 풀어 주고 yasca-core-2.21 폴더에 yasca-2.2-jlint 폴더를 넣어준다.

 

yasca-core-2.21폴더위치를 복사하고 명령어 입력창 cmd를 킨다.

cmd창에 cd yascs-core-2.21폴더위치 입력

아래와같이 해당 폴더로 이동 했는지 확인 

이동 되었다면 

아래와 같이 설치를 실행

해당 부분은 최초에 딱 한번만 해주면 되고 앞으로 할일을 없음

yasca --debug 일렵 해주면 된다.

그럼 cmd창이 무한루프 걸린것 마냥 계속 무슨 작업을 할 것이다.(본인은 10분정도 걸린것으로 생각남 진짜 무한루프 걸린줄 알았음)

끝나면 이제 본격적인 테스트 진행 하면 된다.

테스트 진행할 java소스가 들어 있는 폴더위치를 복사 하고

아래와 같이 yascs --px jlint 폴더위치

입력하면 끝

 

나는 바탕화면에 설치해서 그런지 바타화면에 생성됨 

폴더를 열고 파일 실행하면

이렇게 시큐어코딩 취약점 확인 가능 하다.

취약점 해결은 system.out.println 은 지우거나 log를 사용권장 

나머지 취약점은 다음에 올리도록 하겠다.

여기까지 시큐어코딩 테스트 

반응형
Comments