Database Security and Authorization Subsystem
๋ณด์ ๋ฐ ๊ถํ๋ถ์ฌ
DB security
- legal and ethical
- policy issues
- system-related issues
- security levels
Threats to Databases
- Loss of integrity : ๋ฌด๊ฒฐ์ฑ ์์ค
- Loss of availability : ๊ฐ์ฉ์ฑ ์์ค
- Loss of confidentiality : ๊ธฐ๋ฐ์ฑ ์์ค
access control, inference control, flow control, encryption
DB security : not an isolated concern
- multiuser DB system
- database security and authorization subsystem : ๋ณด์ ๋ฐ ๊ถํ๋ถ์ฌ ํ์์์คํ
- Discretionary : ์์์ ๋ณด์ ๋ฉ์ปค๋์ฆ
- Mandatory : ๊ฐ์ ๋ณด์ ๋งค์ปค๋์ฆ
Control measures
- Access control : ์ ๊ทผ์ ์ด
- Inference control : ์ถ๋ก ์ ์ด
- Flow control : ํ๋ฆ์ ์ด
- Data encryption : ์ํธํ
Access control : ๋ก๊ทธ์ธ ์ ์ด
Inference control : ํต๊ณ DB์ ๋ํ ๋ณด์ (statistical DB)
Flow control : covert channels (๋ถ๋ฒ ๋น๋ฐ๊ฒฝ๋ก)๋ฅผ ๋ง๊ธฐ ์ํด
Data encryption : ๋คํธ์ํฌ ์ ์ก์ ๋ฏผ๊ฐ ๋ฐ์ดํฐ ๋ณดํธ
DBA’s responsibilities
granting pricileges to users : ๊ถํ ๋ถ์ฌ
classifying users and data : ์ ์ ๋ฐ ๋ฐ์ดํฐ์ ๋ถ๋ฅ
- account creation → access control
- privilege granting → discretionary control (์ฌ๋ ์ ์ด)
- privilege revocation → discretionary control (์ฌ๋ ์ ์ด)
- security level assignment → mandatory control (์๋ฌด ์ ์ด)
Access protection and DB audits : ์ ๊ทผ ๋ณดํธ์ DB ๊ฐ์ฌ
- account number and pw
- system log : recovery data, user acct, device ID
- ๋ชจ๋ ์์ ์ ์ถ์
- DB ๊ฐ์ฌ : audit trail (๊ฐ์ฌ ์ถ์ ) - ์ฃผ๋ก ๋ณด์ ๋ชฉ์ ์ log
Discretionary Access control based on Granting and Revoking Privileges : ์์์ ๊ทผ ์ ์ด
๊ถํ๋ถ์ฌ ์๋ณ์ authorization = user = account
two level for assigning pricileges to use the DBS
- the account level : ๊ฐ ๊ณ์ ์ db์์ ๊ด๊ณ ๋ฐ ๊ถํ์ ์ง์
- the relation level : db์ ๊ฐ๋ณ ๊ด๊ณ๋ ๋ณด๊ธฐ์ ์ ๊ทผํ ์ ์๋ ๊ถํ ์ ์ด
The privileges at the account level
privileges at the relation level
defined for SQL2
Access matrix model
- authorization table : ๊ถํ๋ถ์ฌ ํ ์ด๋ธ
Grant and Revoke mechanism : ๊ถํ ์ฃผ๊ธฐ ๋ฐ ๋บ๊ธฐ
→ Grant ๊ถํ [On object] To users
[With Grant Option] : ๊ถํ์ ๋ค๋ฅธ ์ ์ ์๊ฒ ์ค ์ ์์
→ Revoke ๊ถํ [On object] From users
view์ ๋ํ ๊ถํ : ์ ๋ฐ์ดํธ/์ฝ์ ์ ํน์ ์์ฑ๋ง ๊ถํ์ฃผ๊ธฐ ๊ฐ๋ฅ but ์ญ์ ๋ฐ ์ ํ ๊ถํ์ ๋ฐ๋ก ์ง์ ํ๋ ค๋ฉด view ์ฌ์ฉํด์ผํจ
Mandatory Access Control and Role Based Access Control for multilevel security : ๊ฐ์ ์ ๊ทผ๊ถํ๊ณผ ์ญํ ๊ธฐ๋ฐ ์ ๊ทผ ์ ์ด
Discretionary access control (DAC)
- granting and revoking privileges
- all or nothing method
Mandatory access control (MAC)
- ๋ถ๋ฅ ํ ๋ฉํฐ๋ ๋ฒจ ๋ณด์๊ธฐ๋ฒ
Data Classification Scheme : ๋ฐ์ดํฐ ๋ถ๋ฅ ๊ธฐ๋ฒ
- independent control
- data classification level (security classes)
- TS > S > C > U
- user clearance level : ๋์ผ
- ์ ๋ณด๋ ๋ฒจ ๋งค์นญ์ ํตํ ๋ณด์๊ธฐ๋ฒ
the Bell-Lapadula Model
class(S) : subject S (user level)
class(O) : object level
restrictions
- ์ ์ ๋ ๋ฒจ ≥ ๊ฐ์ฒด๋ ๋ฒจ : ์ฝ๊ธฐ ๊ฐ๋ฅ
- ์ ์ ๋ ๋ฒจ ≤ ๊ฐ์ฒด๋ ๋ฒจ : ์ฐ๊ธฐ ๊ฐ๋ฅ (์๋ ๋ฐ์ดํฐ์ ๋ ๋ฒจ์ ๋ฎ์ถ ์ ์๊ฒ)
Role-Based access control
RBAC : ๊ท๋ชจ๊ฐ ํฐ ์์คํ ์ ๊ด๋ฆฌ
- permissions are associated with roles, and users are assigned to appropriate roles
- CREATE ROLE and DESTROY ROLE commands
- RBAC can be used with DAC, MAC
- ์ง์ ๋ ์ญํ ์ ์๋ ๊ถํ ์๋ ์ฌ์ฉ์๋ง ํน์ ๋ฐ์ดํฐ ๋๋ ๋ฆฌ์์ค์ ๋ํ ์ก์ธ์ค ๊ถํ์ ๊ฐ์ง๋๋ค.
Treats to a DB system
- SQL injection : SQL ์ฃผ์
- Unauthorized privilege escalation : ๋ฌด๋จ ๊ถํ์์น
- Privilege abuse : ๊ถํ ๋จ์ฉ
- Denial of service (DOS) : ์๋น์ค ๊ฑฐ๋ถ
- Weak Authentication : ์ทจ์ฝํ ์ธ์ฆ
SQL injection methods
sql ์ string์ ์ฃผ์ ํด์ ์ํ๋ฅผ ๋ณ๊ฒฝ
manipulation attack, code inject, function call inject
Risks associated with SQL injection : ์ํ ์์
- DB ํ๊ฑฐํ๋ฆฐํ
- ์๋น์ค ๊ฑฐ๋ถ
- ์ธ์ฆ ๋ฌด์
- ์ฃผ์ธ๊ฐ๋ฅํ ํ๋ผ๋ฏธํฐ ์๋ณ
- ์๊ฒฉ ๋ช ๋ น์คํ
- ๊ถํ ์์น ์ํ
Protection techniques against sql injection
- Bind Cariables (using parameterized statements)
- Filtering Input (input validation)
- Function Security
Data encryption : ์ํธํ
Data Encryption Standard : DES
provide end-to-end encryption between the sender and receiver
hybrid scheme of
- substitution procedure : ๋์ฒด ์ํธํ ํค
- permutation : ์ผ๋ฐ ๋ฌธ์๋ฅผ ์ฌ์ ๋ ฌ
for 16 cycles
hw or sw
Block encryption technique
divide text into 64 bit blocks of plaintext
56-bit number
AES : Advanced Encryption Standards
- can use keys of 128, 192, 256 bits
Symmetric Key Algorithms
a secret key algorithm
๋ด์ฉ ์ํธํ
Public (Asymmetric) Key Encryption
- encryption key : public(open) key
- decryption key : private (secret) key
- ํด๋ ํค๋ฅผ ๊ฐ์ง๊ณ ์ํธํค ์ถ๋ก = ๊ฐ๋ฅ
- ์ํธํค๋ก ํด๋ ํค ์ถ๋ก = ๋ถ๊ฐ๋ฅ
the RSA public key Encryption Algorithm
- RSA scheme : ์ฌ๋ ์ด๋ฆ์ ๋
- ํ๋ผ์ ๋๋ฒ & ์์ธ์๋ถํด ์ด์ฉ
Digital signature and Certificates : ๋์งํธ ์๋ช ๊ณผ ์ธ์ฆ์
'๐ ์ ๊ณต ๊ณต๋ถ > DB๊ธฐ์ด' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[SQL] mysql ๋ด์ฅํจ์ ์ ๋ฆฌ (0) | 2023.03.03 |
---|---|
[SQLD] ์ ๊ณต์ sqld ์ํ ํ๊ธฐ/ ์ค๋น๋ฐฉ๋ฒ/ ๊ณต๋ถ (0) | 2023.01.16 |
[DB] ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ณต๊ตฌ (0) | 2022.12.30 |
[DB] ๋์์ฑ ์ ์ด (0) | 2022.12.30 |
[DB] Transaction processing (0) | 2022.12.30 |