RTOS Zephyr ਵਿੱਚ 25 ਕਮਜ਼ੋਰੀਆਂ, ਇੱਕ ICMP ਪੈਕੇਟ ਦੁਆਰਾ ਸ਼ੋਸ਼ਣ ਕੀਤੇ ਗਏ ਲੋਕਾਂ ਸਮੇਤ

ਐਨਸੀਸੀ ਗਰੁੱਪ ਦੇ ਖੋਜਕਰਤਾਵਾਂ ਪ੍ਰਕਾਸ਼ਤ ਮੁਫਤ ਪ੍ਰੋਜੈਕਟ ਆਡਿਟ ਨਤੀਜੇ Zephyr, ਵਿਕਾਸਸ਼ੀਲ ਇੱਕ ਰੀਅਲ-ਟਾਈਮ ਓਪਰੇਟਿੰਗ ਸਿਸਟਮ (RTOS), ਜਿਸਦਾ ਉਦੇਸ਼ ਉਹਨਾਂ ਡਿਵਾਈਸਾਂ ਨੂੰ ਲੈਸ ਕਰਨਾ ਹੈ ਜੋ ਇੰਟਰਨੈਟ ਆਫ ਥਿੰਗਸ ਸੰਕਲਪ (IoT, ਇੰਟਰਨੈਟ ਆਫ ਥਿੰਗਜ਼) ਦੀ ਪਾਲਣਾ ਕਰਦੇ ਹਨ। ਆਡਿਟ ਦੌਰਾਨ ਇਹ ਖੁਲਾਸਾ ਹੋਇਆ ਹੈ 25 ਕਮਜ਼ੋਰੀਆਂ Zephyr ਵਿੱਚ ਅਤੇ MCUboot ਵਿੱਚ 1 ਕਮਜ਼ੋਰੀ। Zephyr ਨੂੰ Intel ਕੰਪਨੀਆਂ ਦੀ ਭਾਗੀਦਾਰੀ ਨਾਲ ਵਿਕਸਿਤ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ।

ਕੁੱਲ ਮਿਲਾ ਕੇ, ਨੈੱਟਵਰਕ ਸਟੈਕ ਵਿੱਚ 6 ਕਮਜ਼ੋਰੀਆਂ ਦੀ ਪਛਾਣ ਕੀਤੀ ਗਈ ਸੀ, 4 ਕਰਨਲ ਵਿੱਚ, 2 ਕਮਾਂਡ ਸ਼ੈੱਲ ਵਿੱਚ, 5 ਸਿਸਟਮ ਕਾਲ ਹੈਂਡਲਰ ਵਿੱਚ, 5 USB ਸਬਸਿਸਟਮ ਵਿੱਚ ਅਤੇ 3 ਫਰਮਵੇਅਰ ਅੱਪਡੇਟ ਵਿਧੀ ਵਿੱਚ। ਦੋ ਮੁੱਦਿਆਂ ਨੂੰ ਨਾਜ਼ੁਕ ਦਰਜਾ ਦਿੱਤਾ ਗਿਆ ਹੈ, ਦੋ ਉੱਚੇ ਹਨ, 9 ਮੱਧਮ ਹਨ, 9 ਘੱਟ ਹਨ, ਅਤੇ 4 ਵਿਚਾਰਨ ਲਈ ਹਨ। ਗੰਭੀਰ ਸਮੱਸਿਆਵਾਂ IPv4 ਸਟੈਕ ਅਤੇ MQTT ਪਾਰਸਰ ਨੂੰ ਪ੍ਰਭਾਵਿਤ ਕਰਦੀਆਂ ਹਨ, ਖਤਰਨਾਕ ਸਮੱਸਿਆਵਾਂ USB ਮਾਸ ਸਟੋਰੇਜ ਅਤੇ USB DFU ਡਰਾਈਵਰਾਂ ਨੂੰ ਪ੍ਰਭਾਵਿਤ ਕਰਦੀਆਂ ਹਨ। ਜਾਣਕਾਰੀ ਦੇ ਖੁਲਾਸੇ ਦੇ ਸਮੇਂ, ਸਿਰਫ 15 ਸਭ ਤੋਂ ਖਤਰਨਾਕ ਕਮਜ਼ੋਰੀਆਂ ਲਈ ਫਿਕਸ ਤਿਆਰ ਕੀਤੇ ਗਏ ਸਨ ਜੋ ਸੇਵਾ ਤੋਂ ਇਨਕਾਰ ਕਰਨ ਜਾਂ ਵਾਧੂ ਕਰਨਲ ਸੁਰੱਖਿਆ ਪ੍ਰਣਾਲੀਆਂ ਵਿੱਚ ਖਾਮੀਆਂ ਨਾਲ ਜੁੜੀਆਂ ਹੋਈਆਂ ਹਨ;

ਪਲੇਟਫਾਰਮ ਦੇ IPv4 ਸਟੈਕ ਵਿੱਚ ਇੱਕ ਰਿਮੋਟਲੀ ਸ਼ੋਸ਼ਣਯੋਗ ਕਮਜ਼ੋਰੀ ਦੀ ਪਛਾਣ ਕੀਤੀ ਗਈ ਹੈ, ਜੋ ਇੱਕ ਖਾਸ ਤਰੀਕੇ ਨਾਲ ਸੋਧੇ ਹੋਏ ICMP ਪੈਕੇਟਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਦੇ ਸਮੇਂ ਮੈਮੋਰੀ ਭ੍ਰਿਸ਼ਟਾਚਾਰ ਵੱਲ ਲੈ ਜਾਂਦੀ ਹੈ। MQTT ਪ੍ਰੋਟੋਕੋਲ ਪਾਰਸਰ ਵਿੱਚ ਇੱਕ ਹੋਰ ਗੰਭੀਰ ਸਮੱਸਿਆ ਪਾਈ ਗਈ ਸੀ, ਜੋ ਸਹੀ ਸਿਰਲੇਖ ਖੇਤਰ ਦੀ ਲੰਬਾਈ ਦੀ ਜਾਂਚ ਦੀ ਘਾਟ ਕਾਰਨ ਹੁੰਦੀ ਹੈ ਅਤੇ ਰਿਮੋਟ ਕੋਡ ਐਗਜ਼ੀਕਿਊਸ਼ਨ ਦਾ ਕਾਰਨ ਬਣ ਸਕਦੀ ਹੈ। IPv6 ਸਟੈਕ ਅਤੇ CoAP ਪ੍ਰੋਟੋਕੋਲ ਲਾਗੂ ਕਰਨ ਵਿੱਚ ਸੇਵਾ ਮੁੱਦਿਆਂ ਦੇ ਘੱਟ ਗੰਭੀਰ ਇਨਕਾਰ ਕੀਤੇ ਗਏ ਹਨ।

ਸੇਵਾ ਤੋਂ ਇਨਕਾਰ ਕਰਨ ਜਾਂ ਕਰਨਲ ਪੱਧਰ 'ਤੇ ਕੋਡ ਚਲਾਉਣ ਲਈ ਹੋਰ ਸਮੱਸਿਆਵਾਂ ਦਾ ਸਥਾਨਕ ਤੌਰ 'ਤੇ ਸ਼ੋਸ਼ਣ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ। ਇਹਨਾਂ ਵਿੱਚੋਂ ਬਹੁਤੀਆਂ ਕਮਜ਼ੋਰੀਆਂ ਸਿਸਟਮ ਕਾਲ ਆਰਗੂਮੈਂਟਾਂ ਦੀ ਸਹੀ ਜਾਂਚ ਦੀ ਘਾਟ ਨਾਲ ਸਬੰਧਤ ਹਨ, ਅਤੇ ਕਰਨਲ ਮੈਮੋਰੀ ਦੇ ਆਪਹੁਦਰੇ ਖੇਤਰਾਂ ਵੱਲ ਲੈ ਜਾ ਸਕਦੀਆਂ ਹਨ ਜਿਨ੍ਹਾਂ ਨੂੰ ਲਿਖਿਆ ਅਤੇ ਪੜ੍ਹਿਆ ਜਾ ਸਕਦਾ ਹੈ। ਸਮੱਸਿਆਵਾਂ ਸਿਸਟਮ ਕਾਲ ਪ੍ਰੋਸੈਸਿੰਗ ਕੋਡ ਤੱਕ ਵੀ ਵਧਦੀਆਂ ਹਨ - ਇੱਕ ਨਕਾਰਾਤਮਕ ਸਿਸਟਮ ਕਾਲ ਨੰਬਰ ਨੂੰ ਕਾਲ ਕਰਨ ਨਾਲ ਇੱਕ ਪੂਰਨ ਅੰਕ ਓਵਰਫਲੋ ਹੁੰਦਾ ਹੈ। ਕਰਨਲ ਨੇ ASLR ਸੁਰੱਖਿਆ (ਐਡਰੈੱਸ ਸਪੇਸ ਰੈਂਡਮਾਈਜ਼ੇਸ਼ਨ) ਨੂੰ ਲਾਗੂ ਕਰਨ ਅਤੇ ਸਟੈਕ 'ਤੇ ਕੈਨਰੀ ਚਿੰਨ੍ਹ ਲਗਾਉਣ ਦੀ ਵਿਧੀ ਵਿੱਚ ਸਮੱਸਿਆਵਾਂ ਦੀ ਵੀ ਪਛਾਣ ਕੀਤੀ, ਜਿਸ ਨਾਲ ਇਹ ਵਿਧੀਆਂ ਬੇਅਸਰ ਹੋ ਗਈਆਂ।

ਬਹੁਤ ਸਾਰੀਆਂ ਸਮੱਸਿਆਵਾਂ USB ਸਟੈਕ ਅਤੇ ਵਿਅਕਤੀਗਤ ਡਰਾਈਵਰਾਂ ਨੂੰ ਪ੍ਰਭਾਵਿਤ ਕਰਦੀਆਂ ਹਨ। ਉਦਾਹਰਨ ਲਈ, USB ਮਾਸ ਸਟੋਰੇਜ ਵਿੱਚ ਸਮੱਸਿਆਵਾਂ ਇੱਕ ਬਫਰ ਓਵਰਫਲੋ ਦਾ ਕਾਰਨ ਬਣ ਸਕਦੀਆਂ ਹਨ ਅਤੇ ਕਰਨਲ ਪੱਧਰ 'ਤੇ ਕੋਡ ਨੂੰ ਲਾਗੂ ਕਰ ਸਕਦੀਆਂ ਹਨ ਜਦੋਂ ਡਿਵਾਈਸ ਹਮਲਾਵਰ ਦੁਆਰਾ ਨਿਯੰਤਰਿਤ USB ਹੋਸਟ ਨਾਲ ਕਨੈਕਟ ਹੁੰਦੀ ਹੈ। USB DFU ਵਿੱਚ ਇੱਕ ਕਮਜ਼ੋਰੀ, USB ਦੁਆਰਾ ਨਵਾਂ ਫਰਮਵੇਅਰ ਲੋਡ ਕਰਨ ਲਈ ਇੱਕ ਡ੍ਰਾਈਵਰ, ਤੁਹਾਨੂੰ ਐਨਕ੍ਰਿਪਸ਼ਨ ਦੀ ਵਰਤੋਂ ਕੀਤੇ ਬਿਨਾਂ ਅਤੇ ਡਿਜ਼ੀਟਲ ਦਸਤਖਤ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ ਭਾਗਾਂ ਦੀ ਤਸਦੀਕ ਦੇ ਨਾਲ ਸੁਰੱਖਿਅਤ ਬੂਟ ਮੋਡ ਨੂੰ ਬਾਈਪਾਸ ਕੀਤੇ ਬਿਨਾਂ ਇੱਕ ਸੋਧਿਆ ਫਰਮਵੇਅਰ ਚਿੱਤਰ ਨੂੰ ਮਾਈਕ੍ਰੋਕੰਟਰੋਲਰ ਦੇ ਅੰਦਰੂਨੀ ਫਲੈਸ਼ ਵਿੱਚ ਲੋਡ ਕਰਨ ਦੀ ਇਜਾਜ਼ਤ ਦਿੰਦਾ ਹੈ। ਇਸ ਤੋਂ ਇਲਾਵਾ, ਓਪਨ ਬੂਟਲੋਡਰ ਕੋਡ ਦਾ ਅਧਿਐਨ ਕੀਤਾ ਗਿਆ ਸੀ MCUboot, ਜਿਸ ਵਿੱਚ ਇੱਕ ਸੁਭਾਵਕ ਕਮਜ਼ੋਰੀ ਪਾਈ ਗਈ ਸੀ,
ਜੋ UART ਉੱਤੇ SMP (ਸਧਾਰਨ ਪ੍ਰਬੰਧਨ ਪ੍ਰੋਟੋਕੋਲ) ਪ੍ਰੋਟੋਕੋਲ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਸਮੇਂ ਇੱਕ ਬਫਰ ਓਵਰਫਲੋ ਦਾ ਕਾਰਨ ਬਣ ਸਕਦਾ ਹੈ।

ਯਾਦ ਕਰੋ ਕਿ Zephyr ਵਿੱਚ, ਸਾਰੀਆਂ ਪ੍ਰਕਿਰਿਆਵਾਂ ਲਈ ਸਿਰਫ ਇੱਕ ਗਲੋਬਲ ਸ਼ੇਅਰਡ ਵਰਚੁਅਲ ਐਡਰੈੱਸ ਸਪੇਸ (SASOS, ਸਿੰਗਲ ਐਡਰੈੱਸ ਸਪੇਸ ਓਪਰੇਟਿੰਗ ਸਿਸਟਮ) ਪ੍ਰਦਾਨ ਕੀਤਾ ਗਿਆ ਹੈ। ਐਪਲੀਕੇਸ਼ਨ-ਵਿਸ਼ੇਸ਼ ਕੋਡ ਨੂੰ ਇੱਕ ਐਪਲੀਕੇਸ਼ਨ-ਵਿਸ਼ੇਸ਼ ਕਰਨਲ ਨਾਲ ਜੋੜਿਆ ਜਾਂਦਾ ਹੈ ਤਾਂ ਜੋ ਇੱਕ ਮੋਨੋਲਿਥਿਕ ਐਗਜ਼ੀਕਿਊਟੇਬਲ ਬਣਾਇਆ ਜਾ ਸਕੇ ਜਿਸਨੂੰ ਲੋਡ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ ਅਤੇ ਖਾਸ ਹਾਰਡਵੇਅਰ 'ਤੇ ਚਲਾਇਆ ਜਾ ਸਕਦਾ ਹੈ। ਸਾਰੇ ਸਿਸਟਮ ਸਰੋਤ ਕੰਪਾਈਲ ਸਮੇਂ 'ਤੇ ਨਿਰਧਾਰਤ ਕੀਤੇ ਜਾਂਦੇ ਹਨ, ਕੋਡ ਦੇ ਆਕਾਰ ਨੂੰ ਘਟਾਉਣਾ ਅਤੇ ਪ੍ਰਦਰਸ਼ਨ ਨੂੰ ਵਧਾਉਣਾ। ਸਿਸਟਮ ਚਿੱਤਰ ਵਿੱਚ ਸਿਰਫ਼ ਉਹ ਕਰਨਲ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਸ਼ਾਮਲ ਹੋ ਸਕਦੀਆਂ ਹਨ ਜੋ ਐਪਲੀਕੇਸ਼ਨ ਨੂੰ ਚਲਾਉਣ ਲਈ ਲੋੜੀਂਦੀਆਂ ਹਨ।

ਇਹ ਧਿਆਨ ਦੇਣ ਯੋਗ ਹੈ ਕਿ Zephyr ਦੇ ਮੁੱਖ ਫਾਇਦਿਆਂ ਵਿੱਚੋਂ ਇੱਕ ਹੈ ਜ਼ਿਕਰ ਕੀਤਾ ਸੁਰੱਖਿਆ ਨੂੰ ਧਿਆਨ ਵਿੱਚ ਰੱਖਦੇ ਹੋਏ ਵਿਕਾਸ. ਨੂੰ ਮਨਜ਼ੂਰੀ ਦਿੱਤੀਕਿ ਵਿਕਾਸ ਦੇ ਸਾਰੇ ਪੜਾਅ ਕੋਡ ਦੀ ਸੁਰੱਖਿਆ ਦੀ ਪੁਸ਼ਟੀ ਕਰਨ ਦੇ ਲਾਜ਼ਮੀ ਪੜਾਵਾਂ ਵਿੱਚੋਂ ਗੁਜ਼ਰਦੇ ਹਨ: ਫਜ਼ਿੰਗ ਟੈਸਟਿੰਗ, ਸਥਿਰ ਵਿਸ਼ਲੇਸ਼ਣ, ਪ੍ਰਵੇਸ਼ ਟੈਸਟਿੰਗ, ਕੋਡ ਸਮੀਖਿਆ, ਬੈਕਡੋਰ ਲਾਗੂ ਕਰਨ ਦਾ ਵਿਸ਼ਲੇਸ਼ਣ ਅਤੇ ਧਮਕੀ ਮਾਡਲਿੰਗ।

ਸਰੋਤ: opennet.ru

ਇੱਕ ਟਿੱਪਣੀ ਜੋੜੋ