Athrun Data Intelligence


El equipo anti -raspado de Meta se enfoca en precaver raspado no competente como parte de nuestro trabajo en curso para combatir el mal uso de los datos. Para proteger a Meta Cambiar la colchoneta de código Desde los ataques de raspado, hemos introducido herramientas de estudio inmutable en nuestro flujo de trabajo. Estas herramientas nos permiten detectar vectores de raspado potencial A escalera en nuestro Facebook, Instagram e incluso partes de nuestras bases de código de los laboratorios de verdad.

¿Qué es el raspado?

Raspado es la colección automatizada de datos de un sitio web o aplicación y puede ser competente o no competente. Los raspadores no autorizados comúnmente se esconden imitando las formas en que los usuarios normalmente usarían un producto. Como resultado, el raspado no competente puede ser difícil de detectar. En Meta, tomamos una serie de pasos para raspado de combate y tienen una serie de métodos para distinguir la actividad automatizada no autorizada del uso oficial.

Detección proactiva

El equipo anti-raspado de Meta aprende sobre raspadores (entidades que intentan raer nuestros sistemas) a través de muchas fuentes diferentes. Por ejemplo, nosotros Investigue la sospecha de actividad de raspado no autorizada y tomar medidas contra tales entidades, incluido el emisión de cartas de cese y desión y las cuentas deshabilitantes.

Parte de nuestra táctica es desarrollar aún más medidas proactivas para mitigar el peligro de raer por encima de nuestros enfoques reactivos. Una forma en que hacemos esto es por Convirtiendo nuestros criterios de vector de ataque en reglas de estudio inmutable que se ejecutan automáticamente en toda nuestra colchoneta de código. Esas herramientas de estudio inmutable, que incluyen Zoncolan para hack y Pysa Para Python, ejecute automáticamente para sus respectivas bases de código y se construyen internas, lo que nos permite personalizarlos con fines anti-raspado. Este enfoque puede identificar posibles problemas temprano y certificar que los equipos de incremento de productos tengan la oportunidad de remediar ayer del impulso.

Las herramientas de estudio inmutable nos permiten aplicar aprendizajes en todos los eventos para evitar sistemáticamente problemas similares en nuestra colchoneta de código. Incluso nos ayudan a crear las mejores prácticas al desarrollar código para combatir el raspado no competente.

Incremento de reglas de estudio inmutable

Nuestras herramientas de estudio inmutable (como Zoncolan y Pysa) Centrarse en el seguimiento del flujo de datos a través de un software.

Los ingenieros definen clases de problemas utilizando lo subsiguiente:

  • Fuentes son donde se originan los datos. Para posibles problemas de raspado, estos son en su mayoría parámetros controlados por el legatario, ya que estas son las vías en las que los raspadores controlan los datos que podrían cobrar.
  • Fregaderos son donde fluyen los datos. Para rasparse, el fregadero suele ser cuando los datos fluyen al legatario.
  • Un Asunto se encuentra cuando nuestras herramientas detectan una posibilidad de flujo de datos de una fuente a un sumidero.

Por ejemplo, suponga que la «fuente» es el parámetro de «contar» controlado por el legatario que determina el número de resultados cargados y «el sumidero» como los datos que se devuelven al legatario. Aquí, el parámetro «Conde» controlado por el legatario es un punto de entrada para un raspador que puede manipular su valencia para extraer más datos de los previstos por la aplicación. Cuando nuestras herramientas sospechan que hay un flujo de código entre tales fuentes y sumideros, alerta al equipo para un decano triaje.

Un ejemplo de estudio inmutable

Construyendo en el ejemplo inicial, consulte el subsiguiente código simulado Extracto Cargando el número de seguidores para una página:

# views/followers.py
async def get_followers(request: HttpRequest) -> HttpResponse:
	viewer = request.GET('viewer_id')
target = request.GET('target_id')
	count = request.GET('count')
	if(can_see(viewer, target)):
		followers = load_followers(target, count)
		return followers

# controller/followers.py
async def load_followers(target_id: int, count: int):
	...

En el ejemplo inicial, el punto final simulado respaldado por Get_followers es un vector de ataque de raspado potencial ya que el control de las variables de «legatario» y «cuentan» cuya información debe cargarse y devolver el número de seguidores. En circunstancias habituales, el punto final se llamaría con parámetros adecuados que coincidan con lo que el legatario está navegando en la pantalla. Sin confiscación, los raspadores pueden forzar de tal punto final al especificar usuarios arbitrarios y recuentos grandes, lo que puede resultar en todas sus listas de seguidores devueltas en una sola solicitud. Al hacerlo, los raspadores pueden intentar escamotear los sistemas de inconveniente de tarifas que limitan cuántas solicitudes puede mandar un legatario a nuestros sistemas en un plazo definido. Estos sistemas se establecen para detener cualquier intento de raspado a un stop nivel.

Hexaedro que nuestros sistemas de estudio inmutable se ejecutan automáticamente en nuestra colchoneta de código, el equipo anti-raspado puede identificar tales vectores de raspado de modo proactiva y hacer remediaciones ayer de que el código se introduzca en nuestros sistemas de producción. Por ejemplo, la decisión recomendada para el código inicial es circunscribir el número mayor de resultados que se pueden devolver a la vez:

# views/followers.py
async def get_followers(request: HttpRequest) -> HttpResponse:
	viewer = request.Get('viewer_id')
	target = request.GET('target_id')
	count = min(request.GET('count'), MAX_FOLLOWERS_RESULTS)
	if(can_see(viewer, target)):
	    followers = load_followers(target, count)
		return followers

# controller/followers.py
async def load_followers(target_id: int, count: int):
	...

Luego de la decisión, el número mayor de resultados recuperados por cada solicitud se limita a Max_followers_results. Tal cambio no afectaría a los usuarios regulares y solo interferiría con los raspadores, lo que los obliga a mandar magnitudes más solicitudes que luego desencadenarían nuestros sistemas limitantes de tarifas.

Las limitaciones del estudio inmutable para combatir el raspado no competente

Las herramientas de estudio inmutable no están diseñadas para atrapar todos los posibles problemas de raspado no autorizados. Adecuado a que los raspadores no autorizados pueden imitar las formas legítimas en que las personas usan los productos de Meta, no podemos evitar completamente todos los rasguños no autorizados sin afectar la capacidad de las personas para usar nuestras aplicaciones y sitios web de la modo que disfrutan. Hexaedro que el raspado no competente es un desafío popular y enrevesado de resolver, Combatimos el raspado adoptando un enfoque más holístico para mantenerse por delante de raer a los actores.



Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *