인터페이스 보안

clay·2023년 2월 14일
0

소프트웨어 개발

목록 보기
39/47
post-thumbnail

인터페이스 보안의 개요

  • 인터페이스는 시스템 모듈 간 통신 및 정보 교환을 위한 통로로 사용되므로 충분한 보안 기능을 갖추지 않으면 시스템 모듈 전체에 악영향을 주는 보안 취약점이 될 수 있다.
  • 인터페이스의 보안성 향상을 위해서는 인터페이스의 보안 취약점을 분석한 후 적절한 보안 기능을 적용한다.

인터페이스 보안 취약점 분석

  • 인터페이스 기능이 수행되는 각 구단들을 구현 현황을 확인하고 각 구간에 어떤 보안 취약점이 있는지를 분석한다.
  • 인터페이스 기능이 수행되는 각 구간의 구현 현황은 송∙수신 영역의 구현 기술 및 특징 등을 구체적으로 확인한다.
  • 확인된 인터페이스 기능을 기반으로 송신 데이터 선택, 송신 객체 생성, 인터페이스 송∙수신, 데이터 처리 결과 저송 등 영역별로 발생할 수 있는 보안취약점을 시나리오 형태로 작성한다.

인터페이스 보안 기능 적용

  • 분석한 인터페이스 기능과 보안 취약점을 기반으로 인터페이스 보안 기능을 적용한다.
  • 인터페이스 보안 기능은 일반적으로 네트워크, 애플리케이션, 데이터베이스 영역에 적용한다.

네트워크 영역

  • 인터페이스 송∙수신 간 스니핑 등을 이용한 데이터 탈취 및 변조 위협을 방지하기 위해 네트워크 트래픽에 대한 암호화를 설정한다.
  • 암호화는 인터페이스 아키텍처에 따라 IPSec, SSL, S-HTTP 등의 다양한 방식으로 적용한다.
IPSec
네트워크 계층에서 IP 패킷 단위의 데이터 변조 방지 및 은닉 기능을 제공하는 프로토콜

애플리케이션 영역

  • 소프트웨어 개발 보안 가이드를 창조하여 애플리케이션 코드 상의 보안 취약점을 보완하는 방향으로 애플리케이션 보안 기능을 적용한다.

데이터베이스 영역

  • 데이터베이스, 스키마, 엔티티의 접근 권한과 프로시저, 트리거 등 데이터베이스 동작 객체의 보안 취약점에 보안 기능을 적용한다.
  • 개인 정보나 업무상 민감한 데이터의 경우 암호화나 익명화 등 데이터 자체의 보안 방안도 고려한다.
Schema
계획이나 도식

Procedure
일련의 쿼리를 마치 하나의 함수처럼 실행하기 위한 쿼리의 집합

Trigger
데이터베이스 시스템에서 데이터의 입력, 갱신 삭제 등의 이벤트가 발생할 때마다 자동적으로 
수행되는 절차형 SQL을 의미한다.

스니핑 / 소프트웨어 개발 보안

스니핑(Sniffing)
스니핑은 네트워크의 중간에서 남의 패킷 정보를 도청하는 해킹 유형의 하나로 수동적 공격에 해당한다.

  • 네트워크 내의 패킷들을 대부분 암호화되어 있지 않아 스니핑 같은 해킹 기법에 이용당하기 쉽다.

소프트웨어 개발 보안
애플리케이션 소스 코드에 존재할 수 있는 보안 취약점의 발견, 제거, 보안을 고려한 기능 설계 및 구현 등 소프트웨어 개발 과정에서 지켜야 할 일련의 보안 활동으로 시큐어 코딩이라고도 불린다.

데이터 무결성 검사 도구

  • 데이터 무결성 검사 도구는 시스템 파일의 변경 유무를 확인하고, 파일이 변경되었을 경우 이를 관리자에게 알려주는 도구로, 인터페이스 보안 취약점을 분석하는데 사용된다.
  • 크래커나 허가받지 않은 내부 사용자들이 시스템에 침입하면 백도어를 만들어 놓거나 시스템 파일을 변경하여 자신의 흔적을 감추는데, 무결성 검사 도구를 이용하여 이를 감지할 수 있다.
  • 해시(Hash) 함수를 이용하여 현재 파일 및 디렉토리의 상태를 DBd에 저장한 후 감시하다가 현재 상태와 DB의 상태가 달라지면 관리자에게 변경 사실을 알려준다.
  • 대표적인 데이터 무결성 검사 도구에는 Tripwire, AIDE, Samhain, Claymore, Slipwire, Fcheck 등이 있다.
Hash function
임의의 길이를 갖는 데이터를 고정된 길이의 데이터로 변환시켜주는 함수
profile
샤코타임 팬

0개의 댓글