애플리케이션 - 보안

Ryu·2021년 9월 28일
0

정보보안기사

목록 보기
11/16

디지털 콘텐츠 보안(Copyright)

특징 ①원본=복사본 ②유통이 쉽다 ③원제작자 식별 어려움

DRM = 디지털 콘텐츠 저작권 관리

Meta Data (D•C + W•M) → 유통 → 사용자 –결제요청, 라이센스→ 클리어링 하우스

WaterMarking = 디지털 콘텐츠 저작권 보호(정보은닉), 원제작자

특징 ①비가시성 ②강건성 ③연약성 ④키 제한

종류

  • 스테가노 그래픽(국방, 테러)
  • 핑거프린트 = Dual WaterMarking(구매자, 원제작자) → 공모 공격에 취약

공격기법

  • Copy Attack = 임의의 신호 추가
  • Mosaic Attack = 작은 조각으로 분해
  • Template Attack = 패턴을 파괴
  • Filtering Attack = 노이즈 제거

DOI = 디지털 콘텐츠 식별자

추적기술, URL과 대조, (Prefix = IDF, Suffix = 사용자, 일련번호)

INDECS = 전자상거래 무결성 관리(권리 관계)


개발보안(보안약점) - IT Compliance

S-SDLC = 개발 단계 ①요구사항 ②설계 ③구현

요구사항

  • ①입력 데이터 검증 및 표현
  • ②보안 기능
  • ③에러 처리
  • ④세션 통제 -길이, 유효기간

설계

  • ①요구사항 정의서의 보안 기능 요구사항 확인
  • ②요구사항 추적표를 활용한 SDLC 단계별 산출물 확인
  • ③적절한 보안대책 반영 여부 진단

구현

  • ①입력 데이터 검증 및 표현
    • SQL Injection -Blind SQL=True/False, substr -Union=타입•갯수가 일치 해야함
    • XSS = client side script(사용자 공격) ①stored ②reflected
    • CSRF = 사용자 권한으로 서버 공격, POST 방식, 세션 재인증(current, capcha), CSRF Token
    • HTTP 분할응답 = 개행문자를 Replace All로 없애라, 폼을 추가하듯이 공격
    • 메모리 버퍼 오버플로우 = -stack(지역변수, 자동초기화 X), -heap(Data(전역변수),DEP)
    • 운영체제 명령 삽입 -Command Injection
    • 포맷 스트립 삽입 ①메모리 참조 %x ②메모리 변경 %n ③shell 삽입
    • 경로 조작 및 자원 삽입
    • 위험한 형식 파일 업로드 등
  • ②보안 기능 = 취약한 암호화 알고리즘 사용, 하드코드 된 비밀번호, 적절하지 않는 난수 값 사용 등
  • ③시간 및 상태 = 경쟁조건(다중 프로세스 ①AMP ②심볼릭 링크), 제어문을 사용하지 않는 재귀함수 → 복귀주소
  • ④에러 처리 = 오류 메시지를 통한 정보노출, 오류상황 대응 부재, 적절하지 않은 예외처리
  • ⑤코드 오류 = Null 포인터 역참조, 해제된 자원 사용 등
  • ⑥캡슐화 = Public 메소드부터 반환된 Private 배열, 시스템 데이터 정보 노출 등
  • ⑦API 오용 = DNS Lookup에 의존한 보안 결정(IP 하드코딩), 취약한 API 사용

보안 개발 방법론

  • CLASP = 개념, 역할, 활동을 정의한 모델, OWASP 보안 약점 고려
  • MS-SDL = Microsoft의 자동화 진단도구, SDLC 단계에서 보안을 고려한 모델링
  • 7-TouchPoint = 위험 분석, 코드 리뷰(정적), 자동화 진단(동적) 등의 활동

데이터베이스 보안

추론, 집성(낮은 등급에서 높은 등급을 아는것) → 대응 = 다중 인스턴스 = 하나의 데이터를 여러개로 분리

데이터베이스 암호화

-Plug-in 방식 = View table, -API 방식 = 코딩

Sniffing = 데이터베이스 접근 로그 기록

Gateway

데이터베이스 접근 제어

grant 권한 on 객체 to 사용자 with grantoption;
        DBA to A; → 다 부여
revoke selete on table from A;

※ 유저 생성 명령어 = create user test identified by "1234";
MySQL에서 test@Localhost = PC안에서만 연결

Can Do It
brb

profile
Let me start

0개의 댓글