Video: Obama Nominating Chuck Hagel as Secretary of Defense & John Brennan as Director of CIA 2025
Anda mungkin berfikir bahawa jika anda dapat mengawal siapa yang melihat, mencipta, mengubah, dan memadamkan data dalam jadual SQL, semula dilindungi dengan baik. Terhadap kebanyakan ancaman, anda. Bagaimanapun, penggodam yang berpengetahuan, masih boleh menggeledah rumah dengan menggunakan kaedah tidak langsung.
Pangkalan data relasional yang direka dengan betul mempunyai integriti rujukan, yang bermaksud bahawa data dalam satu jadual dalam pangkalan data adalah konsisten dengan data dalam semua jadual lain. Untuk memastikan integriti rujukan, pereka pangkalan data menggunakan kekangan pada jadual yang menyekat pengguna data boleh masuk ke dalam jadual.
Tetapi inilah kelemahan perlindungan itu: Jika anda mempunyai pangkalan data dengan kekangan integriti rujukan, pengguna boleh membuat jadual baru yang menggunakan lajur dalam jadual sulit sebagai kunci asing. Lajur itu kemudian berfungsi sebagai pautan di mana seseorang boleh mencuri maklumat sulit. Oops.
Katakanlah, sebagai contoh, anda seorang penganalisis saham Wall Street yang terkenal. Ramai orang percaya kepada ketepatan stok saham anda, jadi apabila anda mencadangkan stok kepada pelanggan anda, ramai orang membeli stok itu, dan nilainya meningkat.
Anda menyimpan analisis anda dalam pangkalan data, yang mengandungi jadual bernama FOUR_STAR. Cadangan teratas untuk surat berita anda yang seterusnya berada dalam jadual itu. Secara semulajadi, anda mengehadkan akses kepada FOUR_STAR supaya perkataan itu tidak bocor kepada orang awam melabur sebelum pelanggan membayar anda menerima surat berita itu.
Namun, anda masih lemah, jika orang lain dapat membuat tabel baru yang menggunakan medan nama saham FOUR_STAR sebagai kunci asing, seperti yang ditunjukkan dalam contoh perintah berikut:
CREATE TABLE HOT_STOCKS (CHARACTER Saham (30) REFERENSI FOUR_STAR);
Penggodam kini boleh cuba memasukkan nama setiap saham di Bursa Saham New York, Bursa Saham Amerika dan NASDAQ ke dalam jadual. Mereka memasukkan yang berjaya memberitahu peretas yang saham sepadan dengan saham yang anda namakan di meja sulit anda. Ia tidak mengambil masa lama untuk penggodam untuk mengekstrak keseluruhan senarai stok anda.
Anda boleh melindungi diri daripada hacks seperti contoh terdahulu dengan berhati-hati dengan memasukkan pernyataan yang serupa dengan yang berikut:
RUJUKAN PEMBERIAN (Stok) PADA FOUR_STAR TO SECRET_HACKER;
Jelas sekali ini adalah keterlaluan. Anda tidak akan memberikan apa-apa jenis akses kepada jadual kritikal kepada orang yang tidak boleh dipercayai, adakah anda? Tidak jika anda menyedari apa yang sedang anda lakukan.Walau bagaimanapun, penggodam hari ini bukan hanya bijak secara teknikal. Mereka juga menjadi tuan kepada orang yang menyesatkan melakukan apa yang biasanya mereka tidak lakukan. Lengkapkan dengan penuh amaran setiap kali pembicara licin menyebut apa-apa yang berkaitan dengan maklumat sulit anda.
Elakkan memberikan hak istimewa kepada orang yang boleh menyalahgunakannya. Benar, orang tidak datang dengan jaminan yang dicetak di dahi mereka. Tetapi jika anda tidak meminjamkan kereta baru anda kepada seseorang untuk perjalanan yang panjang, anda mungkin tidak seharusnya memberikan hak REFERENCES ke atas jadual penting, sama ada.
Contoh terdahulu menawarkan satu alasan yang baik untuk mengekalkan kawalan yang berhati-hati terhadap keistimewaan REFERENCES. Berikut adalah dua sebab lain mengapa anda harus berhati-hati mengawal REFERENCES:
-
Jika orang lain menentukan kekangan dalam LANGKAH HOT dengan menggunakan pilihan RESTRICT dan anda cuba memadamkan satu baris dari jadual anda, DBMS memberitahu anda bahawa anda boleh 't, kerana berbuat demikian akan melanggar kekangan integriti rujukan.
-
Jika anda ingin menggunakan arahan DROP untuk memusnahkan jadual anda, anda mendapati anda perlu mendapatkan orang lain untuk DROP kekangannya (atau jadualnya) terlebih dahulu.
Intinya: Mengaktifkan orang lain untuk menentukan kekangan integriti di atas meja anda bukan sahaja memperkenalkan pelanggaran keselamatan yang berpotensi, tetapi juga bermakna bahawa pengguna lain kadang-kadang mendapat jalan anda.
