1. 인터페이스 보안 취약점
(1) 데이터 탈취 위협
인터페이스를 위한 송수신 시스템 간의 데이터 통신 시 스니핑을 통해 데이터 전송 내역을 감청하여 데이터를 탈취하는 위협이 존재한다.
스니핑
Sniffing
공격 대상에게 직접 공격하지 않고, 데이터만 몰래 들여다보는 수동적 공격 기법
(2) 데이터 위/변조 위협
인터페이스를 위한 송수신 시스템 간의 데이터 통신 시 전송 데이터에 대한 삽입, 삭제, 변조 공격을 통한 시스템 위협이 존재한다.
2. 인터페이스 보안 구현 방안 🌟
2-1. 시큐어 코딩 가이드 적용
- 입력 데이터 검증 및 표현: 입력 데이터 유효성 검증 체계 수립
- 보안 기능: 인증/접근 통제, 권한 관리, 비밀번호 등의 정책 설계
- 시간 및 상태: 공유 자원의 접근 직렬화, 병렬 실행 가능 프레임워크 사용, 블록문 내에서만 재귀 함수 호출
- 에러 처리
- 코드 오류
- 캡슐화: 디버거 코드 제거와 필수정보 외의 클래스 내 프라이빗 접근자 지정
- API 오용: 개발 언어별 취약 API 확보 및 취약 API 검출 프로그램 사용
2-2. 데이터베이스 보안 적용
데이터베이스 암호화 알고리즘
(1) 대칭 키 암호화 알고리즘
암/복호화에 같은 암호 키를 쓰는 알고리즘
ex) ARIA 128/192/256, SEED
(2) 비대칭 키 암호화 알고리즘
공개키는 누구나 알 수 있지만, 그에 대응하는 비밀키는 키의 소유자만이 알 수 있도록, 공개키와 비밀키를 사용하는 알고리즘
ex) RSA, ECC, ECDSA
(3) 해시 암호화 알고리즘
해시값으로 원래 입력값으로 찾아낼 수 없는 일방향성의 특성을 가진 알고리즘
ex) SHA-256/384/512, HAS-160
데이터베이스 암호화 기법 🌟
(1) API 방식
- 애플리케이션 레벨에서 암호 모듈(API)를 적용하는 애플리케이션 수정 방식
(2) Plug-in 방식
(3) TDE 방식
Transparent Data Encryption
- DB 서버의 DBMS 커널이 자체적으로 암/복호화 기능을 수행하는 방식
(4) Hybrid 방식
- (1) API 방식과 (2) Plug-in 방식을 결합하는 방식
2-3. 중요 인터페이스 데이터의 암호화 전송
민감한 정보를 통신 채널을 통하여 전송 시에는 반드시 암/복호화 과정을 거쳐야 하고, IPSec, SSL/TLS, S-HTTP 등 보안 채널을 활용하여 전송한다.