티스토리 뷰
가. 원인
- 원격으로 소스코드나 실행파일을 다운로드 후 무결성 검사없이 사용할 경우
나. 영향
- 호스트 파일을 변조하여 DNS 스푸핑
- 악성코드가 삽입된 소스코드를 실행
- 변조된 데이터를 사용하여 의도하지 않은 결과를 유발
다. 보안대책
- 안전한 암호화 기법을 적용 후 전송 및 사용 시 복호화
- 최소한의 권한으로 다운로드한 코드를 실행
라. 안전한 코드
1. 안전한 암호화 적용
1. 파일생성 String jarFile = "./download/util.jar"; byte[] loadFile = FileManager.getBytes( jarFile ); // 개인키로 파일을 암호화 loadFile = encrypt( loadFile, Encrypt.PRIVATE_KEY ); FileManager.createFile( loadFile, encryptJarFile );
2. 파일사용 URL classURL = new URL( "http://filesave.com/download/encrypted_util.jar" ); ... byte[] loadFile = getFileData( classURL ); // 공개키로 파일을 복호화 후 사용 loadFile = decrypt( loadFile, Encrypt.PUBLIC_KEY ); FileManager.createFile( loadFile, jarFile ); ...
|
마. 진단방법
<무결성 검증>
1. 클래스를 로드하는 코드를 확인
2. 클래스 로드 전 체크섬을 실행 확인
3. 코드 변조를 검증하는지 확인
바. 정/오탐 케이스
<정탐 케이스>
1. 로드하려는 클래스의 체크섬을 비교하지 않을 경우 ( URLClassLoader )
'Web Analytics > SW 보안약점 진단원' 카테고리의 다른 글
[구현보안] 시간 및 상태 01 - 경쟁조건: 검사시점과 사용시점(TOC-TOU) (0) | 2019.10.06 |
---|---|
[구현보안] 보안기능 16 - 반복된 인증시도 제한 기능 부재 (0) | 2019.10.06 |
[구현보안] 보안기능 14 - 솔트없이 일방향 해쉬 함수 사용 (0) | 2019.10.06 |
[구현보안] 보안기능 13 - 주석문 안에 포함된 시스템 주요정보 (0) | 2019.10.06 |
[구현보안] 보안기능 12 - 사용자 하드디스크에 저장되는 쿠키를 통한 정보노출 (0) | 2019.10.06 |
- Total
- Today
- Yesterday