728x90

입력 데이터 검증 및 표현과 보안 약점

- 잘못된 입력 데이터로 문제 발생을 막기 위한 검증

- 위험한 파일 업로드 : 악의적 명령어 스크립트 파일을 업로드하여 시스템 손상

- 운영체제 명령어 삽입 : 시스템 명령어 실행 유도

- 크로스 사이트 스크립팅 : 악의적 스크립트 삽입하여 정보 탈취

- sql 삽입 : 입력칸에 sql을 삽입하여 무단으로 db 접근

- 경로 조작 및 자원 삽입 : 데이터 입출력 경로 조작하여 시스템 자원 접근 

 

보안 기능과 보안약점

-인증, 접근제어, 암호화 등 구현하기위한 점검항목

- 하드코드된 비밀번호 : 소스 유출시 하드코드 패스워드 이용 가능  -> 비밀번호 암호화하여 별도 저장

- 취약한 암호화 알고리즘 : 암호 해독하여 중요 정보 탈취 ->안전한 암호화 알고리즘 사용

- 인증없이 기능 허용 : 중요 정보나 기능에 접근 -> 인증 구현

- 중요 자원에 잘못된 권한 설정 : 중요한 자원에 접근해 정보나 권한 사용 -> 관리자만 접근가능하도록 설정

- 암호화없이 정보 저장 및 전송 : 평문 데이터를 탈취하여 이용 -> 암호화, HTTPS나 SSL 같은 보안 채널 이용

 

* hard code 하드 코드 : 데이터를 코드 안에서 직접 입력

 

300x250

'컴퓨터과학 > SW, DB' 카테고리의 다른 글

캡슐화, 코드 오류  (0) 2020.05.16
시간 및 상태, 에러 처리  (0) 2020.05.16
개발 보안  (0) 2020.05.16
DML  (0) 2020.05.16
DCL  (0) 2020.05.16
728x90

개발 보안

- 데이터 가용성, 무결성, 기밀성 목표

 

SDLC Softwere Development Life Cycle

- 소프트웨어 개발 생명 주기

 

Secure SDLC

- SDLC에 보안 프로세스 추가

- 요구사항 분석, 설계, 구현, 테스트, 유지보수 등 SDLC 전단계에 필요한 보안활동 제시

 

보안 활동

- 요구사항 분석 단계 : 보안 요구사항 확인

- 설계 단계 : 보안 요구사항 설계서에 반영 및 설계서 작성

- 구현 단계 : 설계서에 따라 보안 요구사항 구현

- 테스트 단계 : 보안 사항 반영 확인

- 유지보수 단계 : 발생 가능한 보안 사고 고려, 발생시 보안 패치

 

secure coding 시큐어 코딩

- SW 구현 중 보안 취약점 최소화 하도록 코딩

 

세션

- 서버와 클라이언트 연결

 

세션 통제

- 세셜 연결 + 연결 후 정보 관리

- 요구사항 분석, 설계 단계서 진단해야함

 

불충분한 세션 관리

- 세션 ID가 일정 규칙으로 만들거나, 타임아웃이 길어 발생하는 문제 -> 허가되지 않은 세션으로 접근가능

 

잘못된 세션에 의한 정보 노출

- 싱글턴 패턴의 race condition으로 오류 발생 -> 정보 노출 -> 지역 변수로 변수 범위 제한

 

singleton 싱글턴

- 하나의 객체로 여려곳에서 사용

 

race condition

- 두 프로세스가 공유 자원쓰기위해 경쟁

300x250

'컴퓨터과학 > SW, DB' 카테고리의 다른 글

시간 및 상태, 에러 처리  (0) 2020.05.16
보안 약점  (0) 2020.05.16
DML  (0) 2020.05.16
DCL  (0) 2020.05.16
DDL  (0) 2020.05.16
728x90

DML Data Manipulation Language

- 데이터 조작어

 

검색문

select [속성] from 테이블명 [where 조건] [group by 속성명,...] [having 조건] [order by 속성명 [asc | desc]];

- group by : 해당 속성들을 그룹

- having : group by와 같이 사용 그룹 조건

- order by : 정렬. 디폴트 asc 오름차순

 

삽입문

insert into 테이블명([속성명, ...]) values (데이터, ...);

 

삭제문

delete from 테이블명 [where 조건];

 

갱신문

updaete 테이블 set 속성=속성값 [where 조건];

 

300x250

'컴퓨터과학 > SW, DB' 카테고리의 다른 글

보안 약점  (0) 2020.05.16
개발 보안  (0) 2020.05.16
DCL  (0) 2020.05.16
DDL  (0) 2020.05.16
형상 관리  (0) 2020.05.15
728x90

DCL Data control Language

- 데이터 제어어

- 데이터 보안, 무결성, 병행제어, 복원 등 정의

 

grant/revoke

- 권한 부여 혹은 취소

1. 사용자 등급 지정 및 해제

- 사용자 등급 : DBA(데이터베이스 관리자), resource(데이터베이스, 테이블 생성 가능), connect(단순 사용자)

grant 사용자등급 to 사용자id [identified by 암호];

revoke 사용자등급 from 사용자id;

 

2. 테이블 속성 권한 부여/취소

- 권한 목록 : all, select, insert, delete, update, alter 등

- with grant option, grant option for : 타사용자에게 권한 부여

- casecade : 타 사용자에게 부여한 권한도 같이 삭제

grant 권한목록 on 테이블명 to 사용자 [with grant option]];

revoke [grant option for] 권한목록 on 테이블명 from 사용자 [cascade];

 

commit

- 데이터베이스 변경내용 반영하는 명령

- commit 없이 dml 성공 후 자동 커밋 혹은 롤백하도록 자동 커밋 설정 가능

commit;

 

rollback

- commit 되지 않는 변경내용 취소

- rollback [to 세이브포인트명];

 

savepoint

- 롤백 할 시점 지정 명령

savepoint [세이브포인트명];

300x250

'컴퓨터과학 > SW, DB' 카테고리의 다른 글

개발 보안  (0) 2020.05.16
DML  (0) 2020.05.16
DDL  (0) 2020.05.16
형상 관리  (0) 2020.05.15
무결성  (0) 2020.05.15
728x90

DDL Data Define Language

- 데이터 정의어

- 데이터베이스 테이블 구조, 형식 등 정의

 

create table

- 테이블 정의 명령어

- primary key : 기본키 설정

- unique : 대체키 지정

- foreign key : 참조 설정 

- constraint : 제약조건명 설정. constraint [제약조건명] foreign key(속성명) references 타테이블명(타테이블기본키)

- not null : 널 허용 x

- on delete, update : 삭제, 업데이트시 옵션 지정 가능

 -> no action : 테이블 변화시 행동 x

    casecade : 참조테이블 튜플 삭제시 관련 튜플 삭제

    set null : 참조 테이블 변화시 기존 속성 null로 변경

    set default : 참조 테이블 변경,삭제시 기존 속성을 기본값으로 변겅

create table 테이블명

(

    속성명 데이터타입 [default 값] [not null] [primary key] [unique],

    primary key(속성명)

    foreign key(속성명) references 타테이블명(타테이블의 기본키)

);

 

 

create view

- 뷰 정의 명령

- select 문 서브쿼리로 select 결과를 뷰로 설정

create view 뷰명(속성명,[,속성명]) as select 문;

 

 

 

 

create index

- 검색시간 단축을 위한 자료구조인 인덱스 정의

- 정렬 미지정시 기본으로 오름차순 정렬

create [unique] index 인덱스명 on 테이블명(속성명 [asc | desc]);

 

 

 

 

alter table

- 테이블 정의 변경

alter table 테이블명 add 속성명 데이터타입 [not null];

alter table 테이블명 alter 속성명 데이터타입 [set default 기본값];

alter table 테이블명 drop column 속성명 [cascade];

 

 

 

 

 

drop

- 테이블, 뷰, 인덱스, 스키마, 도메인, 제약조건 등 제거하는 명령어

- casecade : 참조하는 다른 개체도 함께 제거

- restricted : 타 개체가 삭제하는 개체를 참조시 제거 취소

drop table 테이블명 [cascade | restricted];

drop view 뷰명 [cascade | restricted];

drop index 인덱스명 [cascade | restricted];

drop domain 도메인명 [cascade | restricted];

 

300x250

'컴퓨터과학 > SW, DB' 카테고리의 다른 글

DML  (0) 2020.05.16
DCL  (0) 2020.05.16
형상 관리  (0) 2020.05.15
무결성  (0) 2020.05.15
  (0) 2020.05.15
728x90

형상 관리 SCM Software Configuration Management

- 소프트웨어 변경 사항, 버전 관리

- 형상 식별 : 계층 구조로 수정 및 추적 용이

- 버전 제어 : 버전의 형상 관리

- 형상 통제 : 형상에 대한 변경 요구 검토, 기준 반영 조정

- 형상 감사 : 무결성 평가

- 형상 기록 : 형상 식별, 통제, 감사 등 기록

 

버전 등록과정

1. 가져오기 import : 저장소에 신규 파일 추가

2. 인출 check out : 수정 작업 담당자가 저장소에 추가된 파일을 인출함

3. 예치 commit : 수정 후 저장소에 커밋 

4. 동기화 update : 새 개발자가 작업공간 동기화. 수정사항 반영

5. 차이 diff : 수정기록으로 변경 파일 차이 확인

300x250

'컴퓨터과학 > SW, DB' 카테고리의 다른 글

DCL  (0) 2020.05.16
DDL  (0) 2020.05.16
무결성  (0) 2020.05.15
  (0) 2020.05.15
RDB 모델  (0) 2020.05.15
728x90

데이터 교환방식

- 회선 교환 방식, 패킷 교환 방식

 

회선 교환 방식 circuit switching

- 교환기를 이용해 통신지를 물리적으로 연결

- 접속된 두지점이 회선 독점. 사용자가 오류 제어. 접속에 긴 시간 소요

- 공간분할 교환 방식 : 교환기로 물리적 접점 교환

- 시분할 교환 방식 : 여러 디지털 신호를 시분할하여 동작

 

패킷 교환 방식 packet switching

- 메시지를 일정 길이의 패킷으로 나눠 전송

- 패킷교환망은 OSI7계층의 네트워트 계층 해당

- 가상 회선 방식 : 단말 장치 간 가상 통신회선을 설정하여 연결 확립후 경로 따라 운반

- 데이터 그램 방식 : 연결 경로 설정없이 패킷을 운반

 

X.25

- DTE와 DCE간 인터페이스 제공하는 프로토콜

 

라우팅

- 최적의 패킷 경로 결정. 라우팅 테이블 참조해서 수행

- RIP Routing Interface Protocol : 소규모 네트워크에서 효율적

- IGRP Interior Gateway Routing Protocol : 네트워크 상태 고려하여 라우팅. 증규모

- OSPF Open Shortest Path First Protocol : 대규모 네트워크

 

라우팅 프로토콜

- 최적의 경로 산출하는 알고리즘

- 거리 벡터 알고리즘 : 인접한 라우터간 거리와 방향 정보를 이용해 최적격로 찾음. RIP, IGRP

- 링크 상태 알고리즘 : 모든 경로 파악하여 미리 경로 준비. OSPF

300x250

'컴퓨터과학 > 통신, 보안' 카테고리의 다른 글

네트워크 - 2 네트워크 구조  (0) 2020.05.17
네트워크 - 1 네트워크 기본 개념  (0) 2020.05.17
TCP/IP와 프로토콜  (0) 2020.05.15
네트워크 장비  (0) 2020.05.15
OSI 7 계층  (0) 2020.05.14
728x90

TCP/IP Transmission Control Protocol/Internet Protocol

- 인터넷을 통한 통신 표준 프로토콜

- TCP : 연결, 오류, 흐름제어

- IP: 패킷 분해/조립, 주소지정, 경로 선택 제공

 

프로토콜 protocol

- 통신을 위한 규약. 구문, 의미, 시간으로 구성

- 구문 : 데이터 형식, 신호 레벨 규정

- 의미 : 제어 정보 규정

- 시간 : 통신 속도, 순서 제어

 

TCP/IP 구조

- 응용 응용 계층 : 응용프로그램간 통신. TELNET, FTP, SMTP, HTTP, DNS 등

- 전송 계층 : 신뢰성 있는 통신. TCP, UDP

- 인터넷 계층 계층 : 데이터 전송을 위한 경로 설정. IP, ARP, RARP

- 네트워크 액세스 계층 : 실제 데이터 송수신. Ethernet, RS-232C, X25

 

응용 계층 프로토콜

- FTP File Transfer Protocol : 원격 파일 전송

- SMTP Simple Mail Transfer Protocol : 메일 전송

- TELNET : 터미널로 원격 제어

- DNS Domain Name System : 도메인 네임을 IP로 변환

- HTTP Hyper Text Transfer Protocol : HTML 문서 송수신위한 프로토콜

 

전송 계층 프로토콜

- TCP : 양방향 연결 후 신뢰 성 있는 데이터 전송

- UDP User Datagrame Protocol : 연결 확인없이 전송, TCP에 비해 단순 고속

 

인터넷 계층 프로토콜 

- IP : 데이터 주소 지정, 경로 설정. 비신뢰성으로 도착 보장 x

- ICMP Internet Control Message Protocol : 통신 중 오류 처리, 전송 경로 변경 등 제어 메시지 관리

- ARP Address Resolution Protocol : IP를 MAC 주소로 변경

- RARP Reverse ARP : MAC 주소를 IP로 변환

 

네트워크 액세스 계층 프로토콜

- Ethernet : CSMA/CD 방식 LAN

- IEEE 802 : LAN 표준 프로토콜

- X.25 : 패킷 교환망을 통안 인터페이스 프로토콜

- RS-232C : DTE Data Terminal Equipment와 DCE Data Communication Equipment 간 인터페이스 제공

 

300x250

'컴퓨터과학 > 통신, 보안' 카테고리의 다른 글

네트워크 - 1 네트워크 기본 개념  (0) 2020.05.17
데이터교환방식과 라우팅  (0) 2020.05.15
네트워크 장비  (0) 2020.05.15
OSI 7 계층  (0) 2020.05.14
인터넷  (0) 2020.05.14
728x90

무결성 제약조건

- 부정확한 데이터의 저장 방지

- 개체 무결성 : 기본키는 null이나 중복값 안됨

- 도메인 무결성 :  속성 도메인에 속한 값만 가능

- 참조 무결성 : 외래키는 참조가능한 값만 가짐

- 사용자 정의 무결성 : 사용자 정의 제약조건을 지켜야함

- null 무결성 : 특정 값이 null이 되선 안됨

- 고유 unique 무결성 : 튜플의 속성 값이 같아선 안됨

- 키 무결성 : 하나의 릴레이션에 적어도 하나의 키가 존재해야함

300x250

'컴퓨터과학 > SW, DB' 카테고리의 다른 글

DDL  (0) 2020.05.16
형상 관리  (0) 2020.05.15
  (0) 2020.05.15
RDB 모델  (0) 2020.05.15
개체 관계 모델  (0) 2020.05.15
728x90

키 key

- 데이터베이스 검색 조건, 정렬 시 기준

 

슈퍼키 super key

- 각 행을 유일하게 식별할 수 있는 속성 하나 또는 집합

 

후보키 candidate key

- 슈퍼키의 부분 집합

 

복합키 composit key

- 2개 이상 속성으로 만든 키

 

기본키 primary key

- 튜플을 식별하기 위한 키. NULL 값있어선 안됨

 

대체키 alternate key

- 후보키 중 기분키를 제외한 나머지 후보 키 

 

외래키 foreign key

- 다른 릴레이션 기본키 참조하는 속성

300x250

'컴퓨터과학 > SW, DB' 카테고리의 다른 글

형상 관리  (0) 2020.05.15
무결성  (0) 2020.05.15
RDB 모델  (0) 2020.05.15
개체 관계 모델  (0) 2020.05.15
데이터베이스  (0) 2020.05.15

+ Recent posts