2023년 고품질 SW개발 컨설팅 및 테스팅 지원 사업 테스팅 사례 공유 합니다.
(재)전주정보문화산업진흥원의 SW품질역량센터에서는
2011년 부터 전라북도 ICT/SW기업을 대상으로 품질 향상을 위한 컨설팅 및 테스팅을 지원하고 있습니다.
목차
1. 테스팅 개요
- 기업명 : 000 00
- 기업주소 : 전라북도 전주시 ***
- 테스팅 내용 : 강동00000 소스코드 보안 취약점 진단 테스팅
구 분 | 제품 개요 |
제품명(모듈명) | 강동00000 소스코드 보안 취약점 진단 테스팅 |
제품설명 | 강동00000 대표 홈페이지 |
- 테스팅 목적 : 기업 개발 제품의 소스코드에 대한 보안 취약점 테스트를 통한 보안 취약점 진단 및 가이드를 진행하고, 보안 품질 강화를 통해서 고객에게 고품질 제품을 전달하기 위한 테스팅을 목표
2. 테스팅 일정
수 행 일 정 | 컨설팅 내용 | 담 당 자 |
2023.4.3. | 테스팅 신청 | 000 차장(나0000) |
2023.4.12. | 테스팅 신청서 접수 | 김영찬 선임 |
2023.8.1. | 스패로우 설치 및 가이드 소스코드 분석 및 가이드 |
김영찬 선임 000 연구원(0000) |
2023.8.11. | 보고서 작성 | 김영찬 선임 |
3. 테스팅 결과 요약
본 테스팅의 지원 내용은 다음과 같습니다.
1) 시험 환경
No | 구 분 | 기본정보 |
1 | 사용 도구 | SPARROW SCE |
2 | 프로그래밍언어 | Java, JSP |
3 | 테스트 서버 OS | Windows Server 2009 |
4 | 분석 유형 | 소스코드 시큐어 코딩 분석 |
2) 시험 장소
기업 본사 내에 시험진
3) 점검 항목
점검 항목은 분석하여 검출하는 기준으로서 품질 (‘Security’) 품질 특성 기반으로 252개 항목을 설정함
순번 | 타입 | 체커 | 위험도 | 항목 내용 |
1 | Quality | USE_OF_SOCKETS | 2 | EJB 규격에는 bean내부에서 서버 소켓(ServerSocket)을 직접 사용하여 클라이언트에 서비스를 제공하는 것을 금지하고 있습니다. |
2 | Code Convention | BAD_THROW.FORBIDDEN_EXCEPTION | 3 | 허용된 예외 클래스 외의 예외 객체를 던지는 경우를 검출합니다. |
3 | Quality | BAD_CALL.FORBIDDEN | 5 | 사전에 정의된 금지된 메소드를 호출하는 경우를 검출합니다. |
4 | Quality | DIRECT_MANAGEMENT_OF_CONNECTIONS | 2 | 연결 직접 관리 DriverManager.getConnection을 호출하는 경우를 검출합니다. |
5 | Quality | DIRECT_USE_OF_SOCKETS | 2 | 소켓을 직접 사용하는 경우를 검출합니다. |
6 | Quality | USING_SYSTEM_EXIT | 2 | VM을 종료시키는 System.exit()과 같은 메소드를 호출하는 경우 Denial of Service(DOS) 공격의 진입로를 만들어 줍니다. |
7 | Quality | LEAK.RESOURCE.PHP | 1 | 특정 자원이 할당이 되었지만 자원 회수가 되지 않은 경우를 검출합니다. |
8 | Quality | RESOURCE_LEAK | 1 | 특정 자원이 할당이 되었지만, JVM의 가비지콜렉터에 의해서 빠르게 자원 회수가 되지 않을 경우에 발생합니다. |
9 | Quality | RESOURCE_LEAK_CSHARP | 1 | 특정 자원이 할당이 되었지만, 자원 회수가 되지 않았을 경우에 발생합니다. |
10 | Quality | USE_AFTER_RELEASE.RESOURCE.PHP | 1 | 자원을 반환한 후에 다시 사용하는 경우를 검출합니다. |
11 | Code Convention | INFINITE_RECURSIVE_CALL | 2 | 재귀의 순환횟수를 제어하지 못하여 무한 재귀 상태일 경우 메모리나 스택등의 자원을 계속해서 할당 받기 때문에 성능 저하 및 의도치 않은 시스템 종료를 초래할 수 있습니다. |
12 | Code Convention | OVERRIDE_HASHCODE_AND_EQUALS | 2 | hashCode() 메소드와 equals() 메소드를 오버라이딩할 때, 모두 오버라이딩 하지 않은 경우를 검출합니다. |
13 | Code Convention | UNCONTROLLED_RECURSION.OBJC | 2 | 재귀 호출 함수에 제어문이 없어서 무한 재귀 호출에 빠질 위험이 있는 수 있습니다. |
14 | Quality | FORWARD_NULL | 1 | 레퍼런스 변수의 널 확인을 하고 나서, 나중에 역참조되는 경우 발생합니다. |
15 | Quality | FORWARD_NULL_CSHARP | 1 | 레퍼런스 변수의 널 확인을 하고 나서, 나중에 역참조되는 경우 발생합니다. |
16 | Quality | NULL_DEREFERENCE.PHP | 1 | 널인 변수를 참조하는 경우를 검출합니다. |
17 | Quality | NULL_RETURN | 1 | 널 값이 반환되는 경우 널 확인을 하지 않고 역참조하는 경우 발생합니다. |
18 | Quality | NULL_RETURN_CSHARP | 1 | 널 값이 반환되는 경우 널 확인을 하지 않고 역참조하는 경우 발생합니다. |
19 | Quality | NULL_RETURN_STD | 1 | Java standard library들 중에 널을 반환할 가능성이 있는 메소드들로부터 값을 특정 변수에 할당한 뒤, 이 변수의 널 확인을 하지 않고 바로 역참조하는 경우에 발생합니다. |
20 | Quality | NULL_RETURN_STD_CSHARP | 1 | C# library 중에 널을 반환할 가능성이 있는 메소드들로부터 값을 특정 변수에 할당한 뒤, 이 변수의 널 확인을 하지 않고 바로 역참조하는 경우에 발생합니다. |
21 | Quality | NULL_RETURN_USR | 1 | 사용자가 작성한 library들 중에 널을 반환할 가능성이 있는 메소드들로부터 값을 특정 변수에 할당한 뒤, 이 변수의 널 확인을 하지 않고 바로 역참조하는 경우에 발생합니다. |
22 | Quality | NULL_RETURN_USR_CSHARP | 1 | 사용자가 작성한 library들 중에 널을 반환할 가능성이 있는 메소드들로부터 값을 특정 변수에 할당한 뒤, 이 변수의 널 확인을 하지 않고 바로 역참조하는 경우에 발생합니다. |
.... 일부 생략함
4) 결과 요약
○ 본 소스코드 품질 테스팅은 ‘강동0000’을 대상으로 진행하였음. 품질에 대한 영향도 평가 기준에 따라 ‘안전’ 결함 주의보 확인.
○ 소스코드 통계
- 소스 파일 개수 총 3,327개, 빌드 라인 수 718,378라인
○ Top 10 이슈 검출 파일
○ 이슈분포
- Level 1에서 37개, Level 2에서 13개, Level 3에서 2,740개, 위험도가 낮은 수준인 Level 4에서 5개, Level 5에서 0개 이슈 검출
○ Top 10 이슈 검출 체커
○ 체커 타입
김영찬 (소프트웨어 품질 전문가)
(재)전주정보문화산업진흥원(JICA)
소프트웨어 개발자로 10년간 발로 코딩 하다가 한계를 느끼고,
2015년부터 소프트웨어 품질에 몸을 담고 기업을 돕고 있음
email. sweng@jica.or.kr / tel. 063-281-4113
주업무 : 소프트웨어 품질 컨설팅, 테스팅, KOLAS 기술책임자, 개발자 네트워크 운영
자격
- SP, CMMI, VSE(ISO 29110), ISMS(ISO 27001) 인증 심사원
- AIT, ISTQB FL, CSTS, 29119 외 다수
'테스팅' 카테고리의 다른 글
[테스팅] 2023년 테스팅 사례 공유 - 000 관리자 시스템 웹 접근성 테스팅 지원 (38) | 2024.06.05 |
---|---|
[테스팅] 2023년 테스팅 사례 공유 - 강동0000 품질 정적 분석 테스팅지원 (42) | 2024.06.05 |
[테스팅] 2023년 테스팅 사례 공유 - 전주00000000 시스템 시큐어 코딩 진단 테스팅 지원 (42) | 2024.06.05 |
[테스팅] 2023년 테스팅 사례 공유 - 농식품00000관리시스템 시큐어 코딩 진단 테스팅 지원 (0) | 2024.06.05 |
[테스팅] 2023년 테스팅 사례 공유 - 취업 0000000 모니터링 시스템 시큐어 코딩 진단 테스팅 지원 (0) | 2024.06.05 |