SQLite ನಲ್ಲಿ ದುರ್ಬಲತೆಗಳನ್ನು ಬಳಸಿಕೊಳ್ಳಲು ಹೊಸ ತಂತ್ರವನ್ನು ಪರಿಚಯಿಸಲಾಗಿದೆ.

ಚೆಕ್ ಪಾಯಿಂಟ್‌ನಿಂದ ಸಂಶೋಧಕರು ತೆರೆದುಕೊಂಡಿದೆ DEF CON ಸಮ್ಮೇಳನದಲ್ಲಿ, SQLite ನ ದುರ್ಬಲ ಆವೃತ್ತಿಗಳನ್ನು ಬಳಸಿಕೊಂಡು ಅಪ್ಲಿಕೇಶನ್‌ಗಳ ಮೇಲೆ ದಾಳಿ ಮಾಡುವ ಹೊಸ ತಂತ್ರದ ವಿವರಗಳು. ಚೆಕ್ ಪಾಯಿಂಟ್ ವಿಧಾನವು ಡೇಟಾಬೇಸ್ ಫೈಲ್‌ಗಳನ್ನು ನೇರವಾಗಿ ಬಳಸಿಕೊಳ್ಳಲಾಗದ ವಿವಿಧ ಆಂತರಿಕ SQLite ಉಪವ್ಯವಸ್ಥೆಗಳಲ್ಲಿನ ದೋಷಗಳನ್ನು ಬಳಸಿಕೊಳ್ಳುವ ಸನ್ನಿವೇಶಗಳನ್ನು ಸಂಯೋಜಿಸುವ ಅವಕಾಶವೆಂದು ಪರಿಗಣಿಸುತ್ತದೆ. SQLite ಡೇಟಾಬೇಸ್‌ನಲ್ಲಿ SELECT ಪ್ರಶ್ನೆಗಳ ಸರಣಿಯ ರೂಪದಲ್ಲಿ ಶೋಷಣೆಯನ್ನು ಎನ್‌ಕೋಡ್ ಮಾಡುವ ಮೂಲಕ ದೋಷಗಳನ್ನು ಬಳಸಿಕೊಳ್ಳುವ ತಂತ್ರವನ್ನು ಸಂಶೋಧಕರು ಸಿದ್ಧಪಡಿಸಿದ್ದಾರೆ, ಇದು ನಿಮಗೆ ASLR ಅನ್ನು ಬೈಪಾಸ್ ಮಾಡಲು ಅನುಮತಿಸುತ್ತದೆ.

ಯಶಸ್ವಿ ದಾಳಿಗಾಗಿ, ದಾಳಿಗೊಳಗಾದ ಅಪ್ಲಿಕೇಶನ್‌ಗಳ ಡೇಟಾಬೇಸ್ ಫೈಲ್‌ಗಳನ್ನು ಮಾರ್ಪಡಿಸಲು ಸಾಧ್ಯವಾಗುತ್ತದೆ, ಇದು ಸಾರಿಗೆ ಮತ್ತು ಇನ್‌ಪುಟ್ ಡೇಟಾಗೆ ಸ್ವರೂಪವಾಗಿ SQLite ಡೇಟಾಬೇಸ್ ಅನ್ನು ಬಳಸುವ ಅಪ್ಲಿಕೇಶನ್‌ಗಳ ಮೇಲಿನ ದಾಳಿಗೆ ವಿಧಾನವನ್ನು ಮಿತಿಗೊಳಿಸುತ್ತದೆ. ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ ಸ್ಥಳೀಯ ಪ್ರವೇಶವನ್ನು ವಿಸ್ತರಿಸಲು ಈ ವಿಧಾನವನ್ನು ಬಳಸಬಹುದು, ಉದಾಹರಣೆಗೆ, ಗುಪ್ತ ಹಿಂಬಾಗಿಲನ್ನು ಬಳಸಿದ ಅಪ್ಲಿಕೇಶನ್‌ಗಳಿಗೆ ಸಂಯೋಜಿಸಲು, ಹಾಗೆಯೇ ಭದ್ರತಾ ಸಂಶೋಧಕರು ಮಾಲ್‌ವೇರ್ ಅನ್ನು ವಿಶ್ಲೇಷಿಸುವಾಗ ಭದ್ರತಾ ಕಾರ್ಯವಿಧಾನಗಳನ್ನು ಬೈಪಾಸ್ ಮಾಡಲು. ಮಾರ್ಪಡಿಸಿದ ಡೇಟಾಬೇಸ್‌ನಲ್ಲಿ ಟೇಬಲ್ ವಿರುದ್ಧ ಅಪ್ಲಿಕೇಶನ್ ಮೊದಲ SELECT ಪ್ರಶ್ನೆಯನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸುವ ಕ್ಷಣದಲ್ಲಿ ಫೈಲ್ ಪರ್ಯಾಯದ ನಂತರದ ಕಾರ್ಯಾಚರಣೆಯನ್ನು ಕೈಗೊಳ್ಳಲಾಗುತ್ತದೆ.

ಉದಾಹರಣೆಯಾಗಿ, ವಿಳಾಸ ಪುಸ್ತಕವನ್ನು ತೆರೆಯುವಾಗ iOS ನಲ್ಲಿ ಕೋಡ್ ಅನ್ನು ಚಲಾಯಿಸುವ ಸಾಮರ್ಥ್ಯವನ್ನು ನಾವು ಪ್ರದರ್ಶಿಸಿದ್ದೇವೆ, "AddressBook.sqlitedb" ಡೇಟಾಬೇಸ್ನೊಂದಿಗೆ ಫೈಲ್ ಅನ್ನು ಪ್ರಸ್ತಾವಿತ ವಿಧಾನವನ್ನು ಬಳಸಿಕೊಂಡು ಮಾರ್ಪಡಿಸಲಾಗಿದೆ. ದಾಳಿಯು fts3_tokenizer ಫಂಕ್ಷನ್‌ನಲ್ಲಿನ ದುರ್ಬಲತೆಯನ್ನು ಬಳಸಿದೆ (CVE-2019-8602, ಪಾಯಿಂಟರ್ ಡೆರೆಫರೆನ್ಸ್ ಸಾಮರ್ಥ್ಯ), ಏಪ್ರಿಲ್ SQLite 2.28 ಅಪ್‌ಡೇಟ್‌ನಲ್ಲಿ ಸ್ಥಿರವಾಗಿದೆ, ಜೊತೆಗೆ ಇನ್ನೊಂದು ದುರ್ಬಲತೆ ವಿಂಡೋ ಕಾರ್ಯಗಳ ಅನುಷ್ಠಾನದಲ್ಲಿ. ಹೆಚ್ಚುವರಿಯಾಗಿ, ಪಿಎಚ್‌ಪಿಯಲ್ಲಿ ಬರೆಯಲಾದ ಆಕ್ರಮಣಕಾರರ ಬ್ಯಾಕೆಂಡ್ ಸರ್ವರ್‌ನ ನಿಯಂತ್ರಣವನ್ನು ರಿಮೋಟ್‌ನಿಂದ ವಶಪಡಿಸಿಕೊಳ್ಳುವ ವಿಧಾನದ ಬಳಕೆಯನ್ನು ಪ್ರದರ್ಶಿಸಲಾಯಿತು, ಇದು ದುರುದ್ದೇಶಪೂರಿತ ಕೋಡ್‌ನ ಕಾರ್ಯಾಚರಣೆಯ ಸಮಯದಲ್ಲಿ ತಡೆಹಿಡಿಯಲಾದ ಪಾಸ್‌ವರ್ಡ್‌ಗಳನ್ನು ಸಂಗ್ರಹಿಸುತ್ತದೆ (ತಡೆಗಟ್ಟಲಾದ ಪಾಸ್‌ವರ್ಡ್‌ಗಳನ್ನು SQLite ಡೇಟಾಬೇಸ್‌ನ ರೂಪದಲ್ಲಿ ರವಾನಿಸಲಾಗಿದೆ).

ದಾಳಿ ವಿಧಾನವು "ಕ್ವೆರಿ ಹೈಜಾಕಿಂಗ್" ಮತ್ತು "ಕ್ವೆರಿ ಓರಿಯೆಂಟೆಡ್ ಪ್ರೋಗ್ರಾಮಿಂಗ್" ಎಂಬ ಎರಡು ತಂತ್ರಗಳ ಬಳಕೆಯನ್ನು ಆಧರಿಸಿದೆ, ಇದು SQLite ಎಂಜಿನ್‌ನಲ್ಲಿ ಮೆಮೊರಿ ಭ್ರಷ್ಟಾಚಾರಕ್ಕೆ ಕಾರಣವಾಗುವ ಅನಿಯಂತ್ರಿತ ಸಮಸ್ಯೆಗಳನ್ನು ಬಳಸಿಕೊಳ್ಳಲು ಅನುವು ಮಾಡಿಕೊಡುತ್ತದೆ. ಡೇಟಾಬೇಸ್ನ ರಚನೆಯನ್ನು ನಿರ್ಧರಿಸುವ sqlite_master ಸೇವಾ ಕೋಷ್ಟಕದಲ್ಲಿ "sql" ಕ್ಷೇತ್ರದ ವಿಷಯಗಳನ್ನು ಬದಲಿಸುವುದು "ಕ್ವೆರಿ ಹೈಜಾಕಿಂಗ್" ನ ಮೂಲತತ್ವವಾಗಿದೆ. ನಿರ್ದಿಷ್ಟಪಡಿಸಿದ ಕ್ಷೇತ್ರವು ಡೇಟಾಬೇಸ್‌ನಲ್ಲಿನ ವಸ್ತುಗಳ ರಚನೆಯನ್ನು ವಿವರಿಸಲು ಬಳಸಲಾಗುವ DDL (ಡೇಟಾ ಡೆಫಿನಿಷನ್ ಲಾಂಗ್ವೇಜ್) ಬ್ಲಾಕ್ ಅನ್ನು ಒಳಗೊಂಡಿದೆ. ವಿವರಣೆಯನ್ನು ಪ್ರಮಾಣಿತ SQL ಸಿಂಟ್ಯಾಕ್ಸ್ ಬಳಸಿ ನಿರ್ದಿಷ್ಟಪಡಿಸಲಾಗಿದೆ, ಅಂದರೆ. "ಕ್ರಿಯೇಟ್ ಟೇಬಲ್" ನಿರ್ಮಾಣವನ್ನು ಬಳಸಲಾಗುತ್ತದೆ,
ಡೇಟಾಬೇಸ್ ಇನಿಶಿಯಲೈಸೇಶನ್ ಪ್ರಕ್ರಿಯೆಯಲ್ಲಿ ಇದನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಲಾಗುತ್ತದೆ (ಮೊದಲ ಉಡಾವಣೆಯ ಸಮಯದಲ್ಲಿ
ಮೆಮೊರಿಯಲ್ಲಿ ಟೇಬಲ್-ಸಂಬಂಧಿತ ಆಂತರಿಕ ರಚನೆಗಳನ್ನು ರಚಿಸಲು sqlite3LocateTable ಕಾರ್ಯಗಳು.

ಕಲ್ಪನೆಯೆಂದರೆ, "ಕ್ರಿಯೇಟ್ ಟೇಬಲ್" ಅನ್ನು "ಕ್ರಿಯೇಟ್ ವ್ಯೂ" ನೊಂದಿಗೆ ಬದಲಿಸುವ ಪರಿಣಾಮವಾಗಿ, ನಿಮ್ಮ ಸ್ವಂತ ವೀಕ್ಷಣೆಯನ್ನು ವ್ಯಾಖ್ಯಾನಿಸುವ ಮೂಲಕ ಡೇಟಾಬೇಸ್ಗೆ ಯಾವುದೇ ಪ್ರವೇಶವನ್ನು ನಿಯಂತ್ರಿಸಲು ಸಾಧ್ಯವಾಗುತ್ತದೆ. "ವೀಕ್ಷಣೆ ರಚಿಸಿ" ಅನ್ನು ಬಳಸಿಕೊಂಡು "ಆಯ್ಕೆ" ಕಾರ್ಯಾಚರಣೆಯನ್ನು ಟೇಬಲ್‌ಗೆ ಬಂಧಿಸಲಾಗುತ್ತದೆ, ಇದನ್ನು "ಟೇಬಲ್ ರಚಿಸಿ" ಬದಲಿಗೆ ಕರೆಯಲಾಗುವುದು ಮತ್ತು SQLite ಇಂಟರ್ಪ್ರಿಟರ್‌ನ ವಿವಿಧ ಭಾಗಗಳನ್ನು ಪ್ರವೇಶಿಸಲು ನಿಮಗೆ ಅನುಮತಿಸುತ್ತದೆ. ಮುಂದೆ, ದಾಳಿಯ ಸರಳ ವಿಧಾನವೆಂದರೆ "load_extension" ಕಾರ್ಯವನ್ನು ಕರೆಯುವುದು, ಇದು ವಿಸ್ತರಣೆಯೊಂದಿಗೆ ಅನಿಯಂತ್ರಿತ ಲೈಬ್ರರಿಯನ್ನು ಲೋಡ್ ಮಾಡಲು ನಿಮಗೆ ಅನುಮತಿಸುತ್ತದೆ, ಆದರೆ ಈ ಕಾರ್ಯವನ್ನು ಪೂರ್ವನಿಯೋಜಿತವಾಗಿ ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಲಾಗಿದೆ.

"SELECT" ಕಾರ್ಯಾಚರಣೆಯನ್ನು ನಿರ್ವಹಿಸಲು ಸಾಧ್ಯವಾದಾಗ ದಾಳಿಯನ್ನು ನಡೆಸಲು, "ಪ್ರಶ್ನೆ ಆಧಾರಿತ ಪ್ರೋಗ್ರಾಮಿಂಗ್" ತಂತ್ರವನ್ನು ಪ್ರಸ್ತಾಪಿಸಲಾಗಿದೆ, ಇದು ಮೆಮೊರಿ ಭ್ರಷ್ಟಾಚಾರಕ್ಕೆ ಕಾರಣವಾಗುವ SQLite ನಲ್ಲಿ ಸಮಸ್ಯೆಗಳನ್ನು ಬಳಸಿಕೊಳ್ಳಲು ಸಾಧ್ಯವಾಗಿಸುತ್ತದೆ. ತಂತ್ರವು ರಿಟರ್ನ್-ಓರಿಯೆಂಟೆಡ್ ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಅನ್ನು ನೆನಪಿಸುತ್ತದೆ (ಆರ್ಒಪಿ, ರಿಟರ್ನ್-ಓರಿಯೆಂಟೆಡ್ ಪ್ರೋಗ್ರಾಮಿಂಗ್), ಆದರೆ ಕರೆಗಳ ಸರಪಳಿಯನ್ನು ("ಗ್ಯಾಜೆಟ್‌ಗಳು") ನಿರ್ಮಿಸಲು ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ ಯಂತ್ರ ಕೋಡ್‌ನ ತುಣುಕುಗಳನ್ನು ಬಳಸುವುದಿಲ್ಲ, ಆದರೆ SELECT ಒಳಗೆ ಸಬ್‌ಕ್ವೆರಿಗಳ ಸೆಟ್‌ನಲ್ಲಿ ಸೇರಿಸುತ್ತದೆ.

SQLite ನಲ್ಲಿ ದುರ್ಬಲತೆಗಳನ್ನು ಬಳಸಿಕೊಳ್ಳಲು ಹೊಸ ತಂತ್ರವನ್ನು ಪರಿಚಯಿಸಲಾಗಿದೆ.

SQLite ನಲ್ಲಿ ದುರ್ಬಲತೆಗಳನ್ನು ಬಳಸಿಕೊಳ್ಳಲು ಹೊಸ ತಂತ್ರವನ್ನು ಪರಿಚಯಿಸಲಾಗಿದೆ.

ಮೂಲ: opennet.ru

ಕಾಮೆಂಟ್ ಅನ್ನು ಸೇರಿಸಿ