일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- flutter drawer
- spring
- oath2
- Java
- vite.config.js
- googlerefreshtoken
- refreshtoken값
- restapi
- drawer 설정
- Geolocator
- vite설정
- springboot
- googleoath2연결
- springboot세팅
- refreshtoken값받기
- 로그제거
- jenkins설치
- 플루터
- Flutter
- kakaoAPI
- 카카오API
- dynamicrouter
- 젠킨스초기설정
- Spring-boot
- 스프링부트
- API
- 네이버API
- naverapi
- DART
- vite
- Today
- Total
사소한것부터 바꾸자
시큐어코딩 - 테스트 방법 본문
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(파파고번역)
시큐어코딩테스트 프로그램은 아래 링크를 타고 가서 받으면 된다.
https://sourceforge.net/projects/yasca/files/Yasca%202.x/Yasca%202.2/
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를 사용권장
나머지 취약점은 다음에 올리도록 하겠다.
여기까지 시큐어코딩 테스트