[소프트웨어개발] 인터페이스 보안 및 검증

thingzoo·2024년 2월 6일
0
post-thumbnail

인터페이스의 주요 보안 취약점

패킷 공격 기법

스니핑(Sniffing)

네트워크상에서 전송되는 패킷을 가로채는 행위로, 주로 비밀 정보 탈취하는데 사용

스푸핑(Spoofing)

일반적으로 IP주소나 다른 식별자를 위장하여 다른 사용자나 시스템으로 속이는 행위

인터페이스 보안 구현

시큐어 코딩(Secure Coding)⭐️

소프트웨어 개발 과정에서 지켜야 할 일련의 보안 활동

  • 입력 데이터 검증 및 표현: 입력값에 대한 검증 누락 또는 부적절한 검증
  • 보안 기능: 인증, 접근 제어, 기밀성, 암호화 등 부적절하게 구현
  • 시간 및 상태: 동시 수행될 때 시간 및 상태를 부적절하게 관리
  • 에러 처리: 에러를 처리안하거나 불충분하게 처리해 에러정보에 중요정보 포함
  • 코드 오류: 타입변환 오류, 자원의 부적잘한 반환 등
  • 캡슐화: 중요 데이터를 불충분하게 캡슐화해 데이터 누출
  • API 오용: API를 의도와 다르게 사용하거나 보안에 취약한 경우

네트워크 구간 암호화

(20.6, 20.8)

전송 계층 암호화

TLS(Transport Layer Security)

  • 웹 브라우저와 서버 간의 암호화된 연결을 제공하며 HTTPS 프로토콜의 기반이 됨
  • SSL은 TLS의 이전 버번이었으나, 현재는 TLS가 주로 사용됨

DTLS(Datagram Transport Layer Security)

  • UDP 트래픽에 대한 보안연결을 제공하여, 패킷의 기밀성과 무결성 보장

네트워크 계층 암호화

IPSec(Internet Protocol Security)⭐️

  • 인터넷에서 안전한 통신을 실현하기 위한 통신규약
  • IP 패킷 수준에서 보안 제공
  • 무연결 무결성 서비스, 데이터 원천 인증, 기밀성 서비스 제공

애플리케이션 계층 암호화

SSL⭐️

  • 애플리케이션 레벨에서 웹브라우저와 서버 사이 데이터를 암호화

S-HTTP(Secure-HTTP)⭐️

  • 개별 HTTP 메시지를 암호화

PGP(Pretty Good Privacy)

  • 이메일 메시지의 암호화와 디지털 서명 제공

인터페이스 검증

인터페이스 구현 검증 도구⭐️

xUnit

Java(JUnit), C++(CppUnit), .Net(NUnit) 등 다양한 언어를 지원하는 단위테스트 프레임워크

STAF

(20.6)
서비스 호출 및 컴포넌트 재사용 등 다양한 환경을 지원하는 테스트 프레임워크

FitNesse

웹 기반 테스트케이스 설계, 실행, 결과 확인 등을 지원하는 테스트 프레임워크

NTAF

FitNesse의 장점과 STAF의 장점을 통합한 Naver의 테스트 자동화 프레임워크

Selenium

다양한 브라우저 및 개발 언어를 지원하는 웹 애플리케이션 테스트 프레임워크

Watir

Ruby 언어를 사용하는 애플리케이션 테스트 프레임워크

인터페이스 오류 발생 즉시 확인

  • 오류 메시지 알람 표시
  • 오류 SMS 발송
  • 오류 내역 이메일 발송
profile
공부한 내용은 바로바로 기록하자!

0개의 댓글